|
From: <chr...@us...> - 2018-02-23 10:24:03
|
Revision: 13340
http://sourceforge.net/p/xoops/svn/13340
Author: chronolabscoop
Date: 2018-02-23 10:24:00 +0000 (Fri, 23 Feb 2018)
Log Message:
-----------
Fonts Repository Services REST API v2.7.7!
Modified Paths:
--------------
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/README.md
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/constants.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/crons/uploading-fonts.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/help.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/common.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/convert-fonts-upload.pe
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/packs-extracting.diz
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/uploads.json
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/functions.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/version.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/config.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/license.dist.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/page.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/language/english/install.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/page_configsave.php
*.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/sql/dbreport.html
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/README.md
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/README.md 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/README.md 2018-02-23 10:24:00 UTC (rev 13340)
@@ -1,5 +1,7 @@
## Chronolabs Cooperative presents
-# Fonting Repository Services API - http://fonty.snails.email -
+# Fonting Repository Services API
+## Version 2.7.7
+### Demo: http://fonty.snails.email -
# BASIC INSTALLATION MANUAL
## by. Simon Antony Roberts (Sydney)
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/constants.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/constants.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/constants.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -85,7 +85,7 @@
define('FONT_RESOURCES_SORTING', API_PATH . '/Fonts/Sorting');
define('FONT_RESOURCES_CONVERTING', API_PATH . '/Fonts/Converting');
define('FONT_RESOURCES_RESOURCE', API_PATH . '/Fonts/Repository');
- define('FONT_RESOURCES_CACHE', API_VAR_PATH . '/FontsCache');
+ define('FONT_RESOURCES_CACHE', API_VAR_PATH . '/FontsAPI/Cache');
define('FONT_RESOURCES_STORE', 'https://sourceforge.net/p/chronolabsapis/Fonting/HEAD/tree/%s?format=raw');
define('FONT_RESOURCES_PEERS', 'https://sourceforge.net/p/chronolabsapis/Fonting/HEAD/tree/peers.json?format=raw');
define('FONT_RESOURCES_REPOMAP', 'https://sourceforge.net/p/chronolabsapis/Fonting/HEAD/tree/%s/%s--repository-mapping.json?format=raw');
@@ -92,7 +92,7 @@
define('FONT_RESOURCES_STORE_GIT', 'https://github.com/Chronolabs-Cooperative/Fonting-Repository/raw/master/%s');
define('FONT_RESOURCES_PEERS_GIT', 'https://github.com/Chronolabs-Cooperative/Fonting-Repository/raw/master/peers.json');
define('FONT_RESOURCES_REPOMAP_GIT', 'https://github.com/Chronolabs-Cooperative/Fonting-Repository/raw/master/%s/%s--repository-mapping.json');
- define('FONT_UPLOAD_PATH', API_VAR_PATH . '/FontsUploads');
+ define('FONT_UPLOAD_PATH', API_VAR_PATH . '/FontsAPI/Uploads');
define('FONTS_CACHE', FONT_RESOURCES_CACHE . DIRECTORY_SEPARATOR . '--dumps--');
if (!is_dir(FONT_RESOURCES_UNPACKING))
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/crons/uploading-fonts.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/crons/uploading-fonts.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/crons/uploading-fonts.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -222,12 +222,23 @@
if (file_exists($uploadfile = $copypath . DIRECTORY_SEPARATOR . strtolower(basename($fontfile))))
{
@exec("cd $copypath", $out, $return);
- @exec($exe = sprintf(DIRECTORY_SEPARATOR . "usr" . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "fontforge -script \"%s\" \"%s\"", dirname(__DIR__ ) . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "convert-fonts-upload.pe", $uploadfile), $out, $return);
- deleteFilesNotListedByArray($copypath, array(API_BASE=>API_BASE));
+ @exec($exe = sprintf(DIRECTORY_SEPARATOR . "usr" . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "fontforge -script \"%s\" \"%s\"", dirname(__DIR__ ) . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "convert-fonts-upload.pe", $uploadfile), $out, $return);
+ deleteFilesNotListedByArray($copypath, array(API_BASE=>API_BASE, 'ufo'=>'ufo'));
unlink($fontfile);
+ $glyphsfingerprint = '';
foreach(getFontsListAsArray($copypath) as $file)
if ($file['type']==API_BASE)
$uploadfile = $copypath . DIRECTORY_SEPARATOR . $file['file'];
+ elseif($file['type']=='ufo') {
+ $glyphs = array();
+ $fileglyphs = getFileListAsArray($copypath . DIRECTORY_SEPARATOR . $file['file'] . DIRECTORY_SEPARATOR . 'glyphs');
+ sort($fileglyphs);
+ foreach($fileglyphs as $glyph)
+ {
+ $glyphs[] = md5_file($copypath . DIRECTORY_SEPARATOR . $file['file'] . DIRECTORY_SEPARATOR . 'glyphs' . DIRECTORY_SEPARATOR . $glyph);
+ }
+ $glyphsfingerprint = md5(implode('', $glyphs));
+ }
$fontdata = getBaseFontValueStore($uploadfile);
if (isset($fontdata['version']))
$fontdata['version'] = $fontdata['version'] + 1.001;
@@ -246,9 +257,15 @@
$found = true;
}
$fingerprint = md5(implode("", $data));
+
+ if (!empty($glyphsfingerprint))
+ {
+ $sql = "SELECT count(*) FROM `" . $GLOBALS['APIDB']->prefix('fonts_fingering') . "` WHERE `fingerprint` LIKE '" . $glyphsfingerprint . "'";
+ list($gfingers) = $GLOBALS['APIDB']->fetchRow($GLOBALS['APIDB']->queryF($sql));
+ }
$sql = "SELECT count(*) FROM `" . $GLOBALS['APIDB']->prefix('fonts_fingering') . "` WHERE `fingerprint` LIKE '" . $fingerprint . "'";
list($fingers) = $GLOBALS['APIDB']->fetchRow($GLOBALS['APIDB']->queryF($sql));
- if ($fingers==0)
+ if ($fingers==0 && $gfingers == 0)
{
$ffile++;
$data['process'] = microtime(true);
@@ -284,6 +301,9 @@
$GLOBALS['APIDB']->queryF($sql);
}
echo "\nCreated Upload Identity: ".$uploadid;
+ $sql = "INSERT INTO `" . $GLOBALS['APIDB']->prefix('fonts_fingering') . "` (`type`, `upload_id`, `fingerprint`) VALUES ('" . $GLOBALS['APIDB']->escape(API_BASE) . "','" . $GLOBALS['APIDB']->escape($uploadid) . "','" . $GLOBALS['APIDB']->escape($glyphsfingerprint) . "')";
+ if (!$GLOBALS['APIDB']->queryF($sql))
+ echo "SQL Failed: $sql;\n";
$sql = "INSERT INTO `" . $GLOBALS['APIDB']->prefix('fonts_fingering') . "` (`type`, `upload_id`, `fingerprint`) VALUES ('" . $GLOBALS['APIDB']->escape(API_BASE) . "','" . $GLOBALS['APIDB']->escape($uploadid) . "','" . $GLOBALS['APIDB']->escape($fingerprint) . "')";
if (!$GLOBALS['APIDB']->queryF($sql))
echo "SQL Failed: $sql;\n";
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/help.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/help.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/help.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -269,29 +269,61 @@
* @author Simon Roberts (labs.coop) wis...@us...
* @return string
*/
- function getURIData($uri = '', $timeout = 25, $connectout = 25, $post_data = array())
- {
- if (!function_exists("curl_init"))
- {
- return file_get_contents($uri);
- }
- if (!$btt = curl_init($uri)) {
- return false;
- }
- curl_setopt($btt, CURLOPT_HEADER, 0);
- curl_setopt($btt, CURLOPT_POST, (count($posts)==0?false:true));
- if (count($posts)!=0)
- curl_setopt($btt, CURLOPT_POSTFIELDS, http_build_query($post_data));
- curl_setopt($btt, CURLOPT_CONNECTTIMEOUT, $connectout);
- curl_setopt($btt, CURLOPT_TIMEOUT, $timeout);
- curl_setopt($btt, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($btt, CURLOPT_VERBOSE, false);
- curl_setopt($btt, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($btt, CURLOPT_SSL_VERIFYPEER, false);
- $data = curl_exec($btt);
- curl_close($btt);
- return $data;
- }
+ function getURIData($uri = '', $timeout = 25, $connectout = 25, $post = array(), $headers = array())
+ {
+ if (!function_exists("curl_init"))
+ {
+ die("Install PHP Curl Extension ie: $ sudo apt-get install php-curl -y");
+ }
+ $GLOBALS['php-curl'][md5($uri)] = array();
+ if (!$btt = curl_init($uri)) {
+ return false;
+ }
+ if (count($post)==0 || empty($post))
+ curl_setopt($btt, CURLOPT_POST, false);
+ else {
+ $uploadfile = false;
+ foreach($post as $field => $value)
+ if (substr($value , 0, 1) == '@' && !file_exists(substr($value , 1, strlen($value) - 1)))
+ unset($post[$field]);
+ else
+ $uploadfile = true;
+ curl_setopt($btt, CURLOPT_POST, true);
+ curl_setopt($btt, CURLOPT_POSTFIELDS, http_build_query($post));
+
+ if (!empty($headers))
+ foreach($headers as $key => $value)
+ if ($uploadfile==true && substr($value, 0, strlen('Content-Type:')) == 'Content-Type:')
+ unset($headers[$key]);
+ if ($uploadfile==true)
+ $headers[] = 'Content-Type: multipart/form-data';
+ }
+ if (count($headers)==0 || empty($headers))
+ curl_setopt($btt, CURLOPT_HEADER, false);
+ else {
+ curl_setopt($btt, CURLOPT_HEADER, true);
+ curl_setopt($btt, CURLOPT_HTTPHEADER, $headers);
+ }
+ curl_setopt($btt, CURLOPT_CONNECTTIMEOUT, $connectout);
+ curl_setopt($btt, CURLOPT_TIMEOUT, $timeout);
+ curl_setopt($btt, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($btt, CURLOPT_VERBOSE, false);
+ curl_setopt($btt, CURLOPT_SSL_VERIFYHOST, false);
+ curl_setopt($btt, CURLOPT_SSL_VERIFYPEER, false);
+ $data = curl_exec($btt);
+ $GLOBALS['php-curl'][md5($uri)]['http']['posts'] = $post;
+ $GLOBALS['php-curl'][md5($uri)]['http']['headers'] = $headers;
+ $GLOBALS['php-curl'][md5($uri)]['http']['code'] = curl_getinfo($btt, CURLINFO_HTTP_CODE);
+ $GLOBALS['php-curl'][md5($uri)]['header']['size'] = curl_getinfo($btt, CURLINFO_HEADER_SIZE);
+ $GLOBALS['php-curl'][md5($uri)]['header']['value'] = curl_getinfo($btt, CURLINFO_HEADER_OUT);
+ $GLOBALS['php-curl'][md5($uri)]['size']['download'] = curl_getinfo($btt, CURLINFO_SIZE_DOWNLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['size']['upload'] = curl_getinfo($btt, CURLINFO_SIZE_UPLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['length']['download'] = curl_getinfo($btt, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['length']['upload'] = curl_getinfo($btt, CURLINFO_CONTENT_LENGTH_UPLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['type'] = curl_getinfo($btt, CURLINFO_CONTENT_TYPE);
+ curl_close($btt);
+ return $data;
+ }
}
?>
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/common.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/common.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/common.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -24,6 +24,7 @@
* Include files with definitions
*/
include_once dirname(__DIR__) . DS . 'mainfile.php';
+include_once __DIR__ . DS . 'constants.php';
include_once __DIR__ . DS . 'functions.php';
include_once __DIR__ . DS . 'version.php';
include_once __DIR__ . DS . 'license.php';
@@ -60,6 +61,7 @@
* Get database for making it global
* Requires APILogger, API_DB_PROXY;
*/
-require_once API_ROOT_PATH . DS . 'include' . DS . 'dbconfig.php';
-require_once API_ROOT_PATH . DS . 'class' . DS . 'database' . DS . 'databasefactory.php';
-$GLOBALS['APIDB'] = APIDatabaseFactory::getDatabaseConnection();
+if (include_once API_ROOT_PATH . DS . 'include' . DS . 'dbconfig.php') {
+ include_once API_ROOT_PATH . DS . 'class' . DS . 'database' . DS . 'databasefactory.php';
+ $GLOBALS['APIDB'] = APIDatabaseFactory::getDatabaseConnection();
+}
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/convert-fonts-upload.pe
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/convert-fonts-upload.pe 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/convert-fonts-upload.pe 2018-02-23 10:24:00 UTC (rev 13340)
@@ -1,2 +1,3 @@
Open($1)
-Generate($1:r + ".eot")
\ No newline at end of file
+Generate($1:r + ".eot")
+Generate($1:r + ".ufo")
\ No newline at end of file
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/packs-extracting.diz
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/packs-extracting.diz 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/packs-extracting.diz 2018-02-23 10:24:00 UTC (rev 13340)
@@ -1,4 +1,4 @@
-7z||7z x -y -q -o"%path" "%pack"
+7z||7z x -y -o"%path" "%pack"
tar||#tar -xf --directory="%path" "%pack"
tar.7z||#tar -xf --directory="%path" "%pack"
tar.Z||#tar -xf --directory="%path" "%pack"
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/uploads.json
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/uploads.json 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/data/uploads.json 2018-02-23 10:24:00 UTC (rev 13340)
@@ -1 +1 @@
-{"":{"1512978637":{"type":"pack","pack":"u.zip","packtype":"zip","files":[["\/home\/mynamesnot\/eclipse-workspace\/fonts.localhost\/data\/Fonts\/Unpacking\/si...@sn...\/1512978637.6466\/u.zip"]],"form":{"email":"si...@sn...","name":"Dr. Simon Antony Roberts","bizo":"Chronolabs Cooperative","prefix":"snailsemail:","email-cc":"","email-bcc":"","return":"http:\/\/fonty.localhost","callback":"","field":"5e6b4b0d3","submit":"Upload File"},"path":"\/si...@sn...\/1512978637.6466","success":[],"start":[1512978721.754254],"ipid":"","time":1512978721,"process":1512978721.817317,"mode":"unpacking","current":null}}}
\ No newline at end of file
+[]
\ No newline at end of file
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/functions.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/functions.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/functions.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -36,17 +36,41 @@
*
* @return float()
*/
- function getURIData($uri = '', $timeout = 25, $connectout = 25)
+ function getURIData($uri = '', $timeout = 25, $connectout = 25, $post = array(), $headers = array())
{
if (!function_exists("curl_init"))
{
- return file_get_contents($uri);
+ die("Install PHP Curl Extension ie: $ sudo apt-get install php-curl -y");
}
+ $GLOBALS['php-curl'][md5($uri)] = array();
if (!$btt = curl_init($uri)) {
return false;
}
- curl_setopt($btt, CURLOPT_HEADER, 0);
- curl_setopt($btt, CURLOPT_POST, 0);
+ if (count($post)==0 || empty($post))
+ curl_setopt($btt, CURLOPT_POST, false);
+ else {
+ $uploadfile = false;
+ foreach($post as $field => $value)
+ if (substr($value , 0, 1) == '@' && !file_exists(substr($value , 1, strlen($value) - 1)))
+ unset($post[$field]);
+ else
+ $uploadfile = true;
+ curl_setopt($btt, CURLOPT_POST, true);
+ curl_setopt($btt, CURLOPT_POSTFIELDS, http_build_query($post));
+
+ if (!empty($headers))
+ foreach($headers as $key => $value)
+ if ($uploadfile==true && substr($value, 0, strlen('Content-Type:')) == 'Content-Type:')
+ unset($headers[$key]);
+ if ($uploadfile==true)
+ $headers[] = 'Content-Type: multipart/form-data';
+ }
+ if (count($headers)==0 || empty($headers))
+ curl_setopt($btt, CURLOPT_HEADER, false);
+ else {
+ curl_setopt($btt, CURLOPT_HEADER, true);
+ curl_setopt($btt, CURLOPT_HTTPHEADER, $headers);
+ }
curl_setopt($btt, CURLOPT_CONNECTTIMEOUT, $connectout);
curl_setopt($btt, CURLOPT_TIMEOUT, $timeout);
curl_setopt($btt, CURLOPT_RETURNTRANSFER, true);
@@ -54,6 +78,16 @@
curl_setopt($btt, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($btt, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($btt);
+ $GLOBALS['php-curl'][md5($uri)]['http']['posts'] = $post;
+ $GLOBALS['php-curl'][md5($uri)]['http']['headers'] = $headers;
+ $GLOBALS['php-curl'][md5($uri)]['http']['code'] = curl_getinfo($btt, CURLINFO_HTTP_CODE);
+ $GLOBALS['php-curl'][md5($uri)]['header']['size'] = curl_getinfo($btt, CURLINFO_HEADER_SIZE);
+ $GLOBALS['php-curl'][md5($uri)]['header']['value'] = curl_getinfo($btt, CURLINFO_HEADER_OUT);
+ $GLOBALS['php-curl'][md5($uri)]['size']['download'] = curl_getinfo($btt, CURLINFO_SIZE_DOWNLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['size']['upload'] = curl_getinfo($btt, CURLINFO_SIZE_UPLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['length']['download'] = curl_getinfo($btt, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['length']['upload'] = curl_getinfo($btt, CURLINFO_CONTENT_LENGTH_UPLOAD);
+ $GLOBALS['php-curl'][md5($uri)]['content']['type'] = curl_getinfo($btt, CURLINFO_CONTENT_TYPE);
curl_close($btt);
return $data;
}
@@ -1971,26 +2005,18 @@
$_SESSION['locality'] = array();
if (API_NETWORK_LOGISTICS==true)
{
- $uris = cleanWhitespaces(file($file = __DIR__ . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "lookups.diz"));
- shuffle($uris); shuffle($uris); shuffle($uris); shuffle($uris);
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE || FILTER_FLAG_NO_RES_RANGE) === false || substr($ip,3,0)=="10." || substr($ip,4,0)=="127.")
{
$data = array();
- foreach($uris as $uri)
- {
- if ($_SESSION['locality']['ip']==$ip || $_SESSION['locality']['country']['iso'] == "-" || empty($_SESSION['locality']))
- $_SESSION['locality'] = json_decode(getURIData(sprintf($uri, 'myself', 'json'), 5, 10), true);
- if (count($_SESSION['locality']) > 1 && $_SESSION['locality']['country']['iso'] != "-")
- continue;
- }
+ if ($_SESSION['locality']['ip']==$ip || $_SESSION['locality']['country']['iso'] == "-" || empty($_SESSION['locality']))
+ $_SESSION['locality'] = json_decode(getURIData(sprintf(API_LOOKUPS_URL."/v2/country/%s/%s.api", 'myself', 'json'), 5, 10), true);
+ if (count($_SESSION['locality']) > 1 && $_SESSION['locality']['country']['iso'] != "-")
+ continue;
} else{
- foreach($uris as $uri)
- {
- if ($_SESSION['locality']['ip']!=$ip || $_SESSION['locality']['country']['iso'] == "-" || empty($_SESSION['locality']))
- $_SESSION['locality'] = json_decode(getURIData(sprintf($uri, $ip, 'json'), 5, 10), true);
- if (count($_SESSION['locality']) > 1 && $_SESSION['locality']['country']['iso'] != "-")
- continue;
- }
+ if ($_SESSION['locality']['ip']!=$ip || $_SESSION['locality']['country']['iso'] == "-" || empty($_SESSION['locality']))
+ $_SESSION['locality'] = json_decode(getURIData(sprintf(API_LOOKUPS_URL."/v2/country/%s/%s.api", $ip, 'json'), 5, 10), true);
+ if (count($_SESSION['locality']) > 1 && $_SESSION['locality']['country']['iso'] != "-")
+ continue;
}
}
if (!isset($_SESSION['locality']['ip']))
@@ -2068,19 +2094,14 @@
if (API_NETWORK_LOGISTICS==true)
{
$whois = array();
- $whoisuris = cleanWhitespaces(file(__DIR__ . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "whois.diz"));
- shuffle($whoisuris); shuffle($whoisuris); shuffle($whoisuris); shuffle($whoisuris);
- foreach($whoisuris as $uri)
+ if (empty($whois[$_SESSION['ipdata'][$ip]['type']]) || !isset($whois[$_SESSION['ipdata'][$ip]['type']]))
{
- if (empty($whois[$_SESSION['ipdata'][$ip]['type']]) || !isset($whois[$_SESSION['ipdata'][$ip]['type']]))
- {
- $whois[$_SESSION['ipdata'][$ip]['type']] = json_decode(getURIData(sprintf($uri, $_SESSION['ipdata'][$ip]['ipaddy'], 'json'), 5, 10), true);
- } elseif (empty($whois['domain']) || !isset($whois['domain']))
- {
- $whois['domain'] = json_decode(getURIData(sprintf($uri, $_SESSION['ipdata'][$ip]['domain'], 'json'), 5, 10), true);
- } else
- continue;
- }
+ $whois[$_SESSION['ipdata'][$ip]['type']] = json_decode(getURIData(sprintf(API_WHOIS_URL."/v2/%s/%s.api", $_SESSION['ipdata'][$ip]['ipaddy'], 'json'), 5, 10), true);
+ } elseif (empty($whois['domain']) || !isset($whois['domain']))
+ {
+ $whois['domain'] = json_decode(getURIData(sprintf(API_WHOIS_URL."/v2/%s/%s.api", $_SESSION['ipdata'][$ip]['domain'], 'json'), 5, 10), true);
+ } else
+ continue;
$sql = "SELECT count(*) FROM `whois` WHERE `id` = '".$wsid = md5(json_encode($whois))."'";
list($countb) = $GLOBALS['APIDB']->fetchRow($GLOBALS['APIDB']->queryF($sql));
if ($countb == 0)
@@ -2148,31 +2169,15 @@
{
if (empty($classes))
{
- if (empty($stratauris)) {
- $stratauris = cleanWhitespaces(file(__DIR__ . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "stratas.diz"));
- shuffle($stratauris); shuffle($stratauris); shuffle($stratauris); shuffle($stratauris);
- }
- shuffle($stratauris);
+
$attempts = 0;
- while(empty($classes) || $attempts <= (count($stratauris) * 1.65))
- {
- $attempts++;
- $classes = array_keys(json_decode(getURIData($stratauris[mt_rand(0, count($stratauris)-1)] ."/v1/strata/serial.api", 15, 10), true));
- }
+ $attempts++;
+ $classes = array_keys(json_decode(getURIData(API_STRATA_URL ."/v1/strata/serial.api", 15, 10), true));
+
}
if (empty($fallout))
{
- if (empty($stratauris)) {
- $stratauris = cleanWhitespaces(file(__DIR__ . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "stratas.diz"));
- shuffle($stratauris); shuffle($stratauris); shuffle($stratauris); shuffle($stratauris);
- }
- shuffle($stratauris);
- $attempts = 0;
- while(empty($fallout) || $attempts <= (count($stratauris) * 1.65))
- {
- $attempts++;
- $fallout = array_keys(json_decode(getURIData($stratauris[mt_rand(0, count($stratauris)-1)] ."/v1/fallout/serial.api", 15, 10), true));
- }
+ $fallout = array_keys(json_decode(getURIData(API_STRATA_URL ."/v1/fallout/serial.api", 15, 10), true));
}
// Get Full Hostname
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/version.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/version.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/include/version.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -29,5 +29,5 @@
/**
* Define API version
*/
-define('API_VERSION', 'Fonts Repository Services (Rest API) 2.7.5');
-define('API_TYPE', 'fonty');
+define('API_VERSION', 'Fonts Repository Services (Rest API) 2.7.7');
+define('API_TYPE', 'fonty-api');
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/config.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/config.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/config.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -33,23 +33,22 @@
// extension_loaded
$configs['extensions'] = array(
- 'mbstring' => array('MBString', sprintf(PHP_EXTENSION, CHAR_ENCODING)),
- 'intl' => array('Intl', sprintf(PHP_EXTENSION, INTL_SUPPORT)),
-// 'iconv' => array('Iconv', sprintf(PHP_EXTENSION, ICONV_CONVERSION)),
- 'xml' => array('XML', sprintf(PHP_EXTENSION, XML_PARSING)),
- 'zlib' => array('Zlib', sprintf(PHP_EXTENSION, ZLIB_COMPRESSION)),
- 'gd' => array(
- (function_exists('gd_info') && $gdlib = @gd_info()) ? 'GD ' . $gdlib['GD Version'] : '',
- sprintf(PHP_EXTENSION, IMAGE_FUNCTIONS)),
- 'exif' => array('Exif', sprintf(PHP_EXTENSION, IMAGE_METAS)),
'curl' => array('Curl', sprintf(PHP_EXTENSION, CURL_HTTP)),
);
+
+$configs['apiurl'] = array(
+ 'lookups' => 'http://lookups.snails.email',
+ 'strata' => 'http://strata.snails.email',
+ 'whois' => 'http://whois.snails.email'
+);
+
// Writable files and directories
$configs['writable'] = array(
'uploads/',
'data/',
'include/',
+ 'include/data/',
'mainfile.php',
'include/license.php',
'include/dbconfig.php',
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/license.dist.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/license.dist.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/license.dist.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -22,7 +22,7 @@
defined('API_ROOT_PATH') || exit('Restricted access');
define('API_LICENSE_CODE', 'GPL');
-define('API_LICENSE_TEXT', 'General Public License (GPL) (v. 3.0)');
+define('API_LICENSE_TEXT', 'GPL General Public License (GPL) (v. 2.0)');
define('API_LICENSE_KEY', '000000-000000-000000-000000-0000000');
define('API_LICENSE_COMPANY', '');
define('API_LICENSE_UNAME', '');
@@ -31,4 +31,4 @@
define('API_LICENSE_PROTOCOL', '');
define('API_LICENSE_REALM', '');
define('API_LICENSE_PATH', '');
-define('API_LICENSE_TYPE', '');
+define('API_LICENSE_TYPE', '');
\ No newline at end of file
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/page.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/page.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/include/page.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -43,6 +43,11 @@
'title' => PATHS_SETTINGS_TITLE,
'icon' => 'fa fa-fw fa-folder-open'
),
+ 'extrasettings' => array(
+ 'name' => PATHS_EXTRA,
+ 'title' => PATHS_EXTRA_TITLE,
+ 'icon' => 'fa fa-fw fa-folder-open'
+ ),
'dbconnection' => array(
'name' => DATABASE_CONNECTION,
'title' => DATABASE_CONNECTION_TITLE,
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/language/english/install.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/language/english/install.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/language/english/install.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -15,6 +15,15 @@
// _LANGCODE: en
// _CHARSET : UTF-8
// Translator: API Translation Team
+define('API_LOOKUPS_API_URL_LABEL', 'IP Lookups API (see: <a href="https://github.com/Chronolabs-Cooperative/Lookups-API-PHP" target="_blank">github.com</a>)');
+define('API_LOOKUPS_API_URL_HELP', 'IP Lookups API (see: <a href="https://github.com/Chronolabs-Cooperative/Lookups-API-PHP" target="_blank">github.com</a>)');
+define('API_STRATA_API_URL_LABEL', 'Domain/Realms Strata+Fallouts API (see: <a href="https://github.com/Chronolabs-Cooperative/Strata-API-PHP" target="_blank">github.com</a>)');
+define('API_STRATA_API_URL_HELP', 'Domain/Realms Strata+Fallouts API (see: <a href="https://github.com/Chronolabs-Cooperative/Strata-API-PHP" target="_blank">github.com</a>)');
+define('API_WHOIS_API_URL_LABEL', 'IP+Domain WhoIS API (see: <a href="https://github.com/Chronolabs-Cooperative/WhoIS-API-PHP" target="_blank">github.com</a>)');
+define('API_WHOIS_API_URL_HELP', 'IP+Domain WhoIS API (see: <a href="https://github.com/Chronolabs-Cooperative/WhoIS-API-PHP" target="_blank">github.com</a>)');
+define('PATHS_EXTRA', 'Extra Settings');
+define('PATHS_EXTRA_TITLE', 'Extra Settings Configurations');
+
define('SHOW_HIDE_HELP', 'Show/hide help text');
// License
define('LICENSE_NOT_WRITEABLE', 'License file "%s" is NOT writable!');
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/page_configsave.php
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/page_configsave.php 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/page_configsave.php 2018-02-23 10:24:00 UTC (rev 13340)
@@ -65,7 +65,22 @@
$GLOBALS['error'] = !($result === true);
}
+ $constants = file(__DIR__ . DIRECTORY_SEPARATOR . 'include' . DIRECTORY_SEPARATOR . 'constants.dist.php');
+ foreach($constants as $line => $code)
+ {
+ foreach($_SESSION['constants'] as $key => $values)
+ {
+ if (is_array($values)) {
+ foreach($values as $field => $value)
+ if (strpos($code, "API_".strtoupper($key)."_".strtoupper($field)))
+ $constants[$line] = "define('API_".strtoupper($key)."_".strtoupper($field)."','$value');\n";
+ } elseif (strpos($code, "API_".strtoupper($key)))
+ $constants[$line] = "define('API_".strtoupper($key)."','$values');\n";
+ }
+ }
+ $GLOBALS['error'] = !file_put_contents(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'include' . DIRECTORY_SEPARATOR . 'constants.php' , implode($constants));
$_SESSION['settings']['authorized'] = false;
+
if ($result === true) {
$_SESSION['UserLogin'] = true;
Modified: *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/sql/dbreport.html
===================================================================
--- *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/sql/dbreport.html 2018-02-10 14:30:09 UTC (rev 13339)
+++ *.xoops.org (Subdomain APIs & Sites)/fonty.xoops.org/install/sql/dbreport.html 2018-02-23 10:24:00 UTC (rev 13340)
@@ -1,49 +1,49 @@
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.callbacks.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__callbacks created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.callbacks.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__callbacks created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.emails.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__emails created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.emails.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__emails created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.flows.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__flows created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.flows.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__flows created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.flows_history.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__flows_history created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.flows_history.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__flows_history created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_archiving.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_archiving created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_archiving.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_archiving created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_callbacks.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_callbacks created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_callbacks.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_callbacks created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_contributors.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_contributors created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_contributors.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_contributors created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_downloads.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_downloads created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_downloads.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_downloads created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_files.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_files created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_files.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_files created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_fingering.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_fingering created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_fingering.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_fingering created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_glyphs.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_glyphs created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_glyphs.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_glyphs created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_glyphs_contours.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_glyphs_contours created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_glyphs_contours.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_glyphs_contours created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_names.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__fonts_names created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.fonts_names.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__fonts_names created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.networking.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__networking created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.networking.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__networking created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.nodes.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__nodes created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.nodes.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__nodes created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.nodes_linking.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__nodes_linking created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.nodes_linking.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__nodes_linking created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.peers.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__peers created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.peers.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__peers created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.releases.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__releases created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.releases.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__releases created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.reserves.sql</h3></li><ul class="log"><li class="failure prestige">Unable to create table fonts__reserves</li>
-<li class="failure prestige">Failed inserting -1 entries to table fonts__reserves.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.reserves.sql</h3></li><ul class="log"><li class="failure prestige">Unable to create table xc49__reserves</li>
+<li class="failure prestige">Failed inserting -1 entries to table xc49__reserves.</li>
</ul></ul>
<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.routines.sql</h3></li><ul class="log"></ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.structure.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__users created.</li>
-<li class="failure prestige">Unable to create table fonts__peers</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.structure.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__users created.</li>
+<li class="failure prestige">Unable to create table xc49__peers</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.uploads.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__uploads created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.uploads.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__uploads created.</li>
</ul></ul>
-<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.whois.sql</h3></li><ul class="log"><li class="success prestige">Table fonts__whois created.</li>
+<ul class="prestige" style="list-style-bullet: none; float: left; width: 32%; padding: 4px; margin: 3px; font-size: 0.78764em;"><il><h3 style="font-size: 1.44812em;">mysql.whois.sql</h3></li><ul class="log"><li class="success prestige">Table xc49__whois created.</li>
</ul></ul>
|