From bbae0c3ade13def8c95000ef46ff0b819ac66f74 Mon Sep 17 00:00:00 2001 From: slawkens Date: Tue, 17 Oct 2017 17:25:43 +0200 Subject: [PATCH] * added usage statistics lib, will be used for reporting --- system/libs/usage_statistics.php | 114 +++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 system/libs/usage_statistics.php diff --git a/system/libs/usage_statistics.php b/system/libs/usage_statistics.php new file mode 100644 index 0000000000..b9c9de645f --- /dev/null +++ b/system/libs/usage_statistics.php @@ -0,0 +1,114 @@ + + * @copyright 2017 MyAAC + * @version 0.6.0 + * @link http://my-aac.org + */ +defined('MYAAC') or die('Direct access not allowed!'); + +class Usage_Statistics { + public static function report() { + $url = 'http://my-acc.org/report_usage.php'; + //$url = BASE_URL . 'report_usage.php'; + + $data = json_encode(self::getStats()); + $options = array( + 'http' => array( + 'header' => 'Content-type: application/json', + 'method' => 'POST', + 'content' => $data + ) + ); + + $context = stream_context_create($options); + $result = file_get_contents($url, false, $context); + if ($result === false) { + return false; + } + + return true; + //var_dump($result); + } + + public static function getStats() { + global $config, $db; + + $ret = array(); + + $ret['unique_id'] = hash('sha1', $config['server_path']); + $ret['server_os'] = php_uname('s') . ' ' . php_uname('r'); + + $ret['myaac_version'] = MYAAC_VERSION; + $ret['myaac_db_version'] = DATABASE_VERSION; + + $query = $db->query('SELECT `value` FROM `server_config` WHERE `config` = ' . $db->quote('database_version')); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['otserv_db_version'] = $query['value']; + } + + $ret['client_version'] = $config['client']; + + $ret['php_version'] = phpversion(); + + $query = $db->query('SELECT VERSION() as `version`;'); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['mysql_version'] = $query['version']; + } + + $query = $db->query('SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 ), 0)) AS "size" +FROM INFORMATION_SCHEMA.TABLES +WHERE TABLE_SCHEMA = "forgottenserver";'); + + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['database_size'] = $query['size']; + } + + $ret['views_counter'] = getDatabaseConfig('views_counter'); + + $query = $db->query('SELECT COUNT(`id`) as `size` FROM `accounts`;'); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['accounts_size'] = $query['size']; + } + + $query = $db->query('SELECT COUNT(`id`) as `size` FROM `players`;'); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['players_size'] = $query['size']; + } + + $query = $db->query('SELECT COUNT(`id`) as `size` FROM `' . TABLE_PREFIX . 'monsters`;'); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['monsters_size'] = $query['size']; + } + + $query = $db->query('SELECT COUNT(`id`) as `size` FROM `' . TABLE_PREFIX . 'spells`;'); + if($query->rowCount() == 1) { + $query = $query->fetch(); + $ret['spells_size'] = $query['size']; + } + + $ret['locales'] = get_locales(); + $ret['plugins'] = get_plugins(); + $ret['templates'] = get_templates(); + + $ret['date_timezone'] = $config['date_timezone']; + $ret['backward_support'] = $config['backward_support']; + + $cache_engine = strtolower($config['cache_engine']); + if($cache_engine == 'auto') { + $cache_engine = Cache::detect(); + } + + $ret['cache_engine'] = $cache_engine; + return $ret; + } +} \ No newline at end of file