release 1.3.13

This commit is contained in:
Newcomer1989
2020-11-22 20:57:53 +01:00
parent 3316504336
commit e474b3feb8
74 changed files with 10142 additions and 8876 deletions

View File

@@ -6,6 +6,137 @@ if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSIO
$_SESSION[$rspathhex.'upinfomsg'] = 1;
}
}
if(isset($_POST['username'])) {
$_GET["search"] = $_POST['usersuche'];
$_GET["seite"] = 1;
}
$filter = $searchstring = NULL;
if(isset($_GET["search"]) && $_GET["search"] != '') {
$getstring = htmlspecialchars($_GET['search']);
}
if(isset($getstring) && strstr($getstring, 'filter:excepted:')) {
if(str_replace('filter:excepted:','',$getstring)!='') {
$searchstring = str_replace('filter:excepted:','',$getstring);
}
$filter .= " AND `except` IN ('2','3')";
} elseif(isset($getstring) && strstr($getstring, 'filter:nonexcepted:')) {
if(str_replace('filter:nonexcepted:','',$getstring)!='') {
$searchstring = str_replace('filter:nonexcepted:','',$getstring);
}
$filter .= " AND `except` IN ('0','1')";
} else {
if(isset($getstring)) {
$searchstring = $getstring;
} else {
$searchstring = '';
}
if($cfg['stats_show_excepted_clients_switch'] == 0) {
$filter .= " AND `except` IN ('0','1')";
}
}
if(isset($getstring) && strstr($getstring, 'filter:online:')) {
$searchstring = preg_replace('/filter\:online\:/','',$searchstring);
$filter .= " AND `online`='1'";
} elseif(isset($getstring) && strstr($getstring, 'filter:nononline:')) {
$searchstring = preg_replace('/filter\:nononline\:/','',$searchstring);
$filter .= " AND `online`='0'";
}
if(isset($getstring) && strstr($getstring, 'filter:actualgroup:')) {
preg_match('/filter\:actualgroup\:(.*)\:/',$searchstring,$grpvalue);
$searchstring = preg_replace('/filter\:actualgroup\:(.*)\:/','',$searchstring);
$filter .= " AND `grpid`='".$grpvalue[1]."'";
}
if(isset($getstring) && strstr($getstring, 'filter:country:')) {
preg_match('/filter\:country\:(.*)\:/',$searchstring,$grpvalue);
$searchstring = preg_replace('/filter\:country\:(.*)\:/','',$searchstring);
$filter .= " AND `nation`='".$grpvalue[1]."'";
}
if(isset($getstring) && strstr($getstring, 'filter:lastseen:')) {
preg_match('/filter\:lastseen\:(.*)\:(.*)\:/',$searchstring,$seenvalue);
$searchstring = preg_replace('/filter\:lastseen\:(.*)\:(.*)\:/','',$searchstring);
if(isset($seenvalue[2]) && is_numeric($seenvalue[2])) {
$lastseen = $seenvalue[2];
} elseif(isset($seenvalue[2])) {
$r = date_parse_from_format("Y-m-d H-i",$seenvalue[2]);
$lastseen = mktime($r['hour'], $r['minute'], $r['second'], $r['month'], $r['day'], $r['year']);
} else {
$lastseen = 0;
}
if(isset($seenvalue[1]) && ($seenvalue[1] == '&lt;' || $seenvalue[1] == '<')) {
$operator = '<';
} elseif(isset($seenvalue[1]) && ($seenvalue[1] == '&gt;' || $seenvalue[1] == '>')) {
$operator = '>';
} elseif(isset($seenvalue[1]) && $seenvalue[1] == '!=') {
$operator = '!=';
} else {
$operator = '=';
}
$filter .= " AND `lastseen`".$operator."'".$lastseen."'";
}
$searchstring = htmlspecialchars_decode($searchstring);
if(isset($getstring)) {
$dbdata_full = $mysqlcon->prepare("SELECT COUNT(*) FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter");
$dbdata_full->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata_full->execute();
$sumentries = $dbdata_full->fetch(PDO::FETCH_NUM);
$getstring = rawurlencode($getstring);
} else {
$getstring = '';
$sumentries = $mysqlcon->query("SELECT COUNT(*) FROM `$dbname`.`user`")->fetch(PDO::FETCH_NUM);
}
if(!isset($_GET["seite"])) {
$seite = 1;
} else {
$_GET["seite"] = preg_replace('/\D/', '', $_GET["seite"]);
if($_GET["seite"] > 0) {
$seite = $_GET["seite"];
} else {
$seite = 1;
}
}
$adminlogin = 0;
$sortarr = array_flip(array("active","cldbid","count","grpid","grpsince","idle","lastseen","name","nation","nextup","platform","rank","uuid","version"));
if(isset($_GET['sort']) && isset($sortarr[$_GET['sort']])) {
$keysort = $_GET['sort'];
} else {
$keysort = $cfg['stats_column_default_sort'];
}
if(isset($_GET['order']) && $_GET['order'] == 'desc') {
$keyorder = 'desc';
} elseif(isset($_GET['order']) && $_GET['order'] == 'asc') {
$keyorder = 'asc';
} else {
$keyorder = $cfg['stats_column_default_order'];
}
if(isset($_GET['admin'])) {
if($_SESSION[$rspathhex.'username'] == $cfg['webinterface_user'] && $_SESSION[$rspathhex.'password'] == $cfg['webinterface_pass'] && $_SESSION[$rspathhex.'clientip'] == getclientip()) {
$adminlogin = 1;
}
}
if(!isset($_GET["user"])) {
$user_pro_seite = 25;
} elseif($_GET['user'] == "all") {
if($sumentries[0] > 1000) {
$user_pro_seite = 1000;
} else {
$user_pro_seite = $sumentries[0];
}
} else {
$_GET["user"] = preg_replace('/\D/', '', $_GET["user"]);
if($_GET["user"] > 1000) {
$user_pro_seite = 1000;
} elseif($_GET["user"] > 0) {
$user_pro_seite = $_GET["user"];
} else {
$user_pro_seite = 25;
}
}
?>
<!DOCTYPE html>
<html lang="<?PHP echo $cfg['default_language']; ?>">
@@ -189,12 +320,16 @@ if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSIO
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=50&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">50</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=100&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">100</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=250&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">250</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=500&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">500</a></li>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=all&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>"><?PHP echo $lang['stnv0026']; ?></a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=50&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">50</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=100&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">100</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=250&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">250</a></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=500&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">500</a></li>
<?PHP if($sumentries[0] > 1000) { ?>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=1000&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>">1000</a></li>
<?PHP } else { ?>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" href="<?PHP echo "?sort=$keysort&amp;order=$keyorder&amp;user=all&amp;lang={$cfg['default_language']}&amp;search=$getstring"; ?>"><?PHP echo $lang['stnv0026']; ?></a></li>
<?PHP } ?>
</ul>
</li>
<li class="navbar-form navbar-right">
@@ -215,10 +350,15 @@ if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSIO
</li>
<?PHP } ?>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i><?PHP echo '&nbsp;&nbsp;' . $_SESSION[$rspathhex.'tsname'] ?>&nbsp;
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i><?PHP
echo '&nbsp;&nbsp;';
if(isset($_SESSION[$rspathhex.'tsname'])) {
echo $_SESSION[$rspathhex.'tsname'];
}
?>&nbsp;
<b class="caret"></b></a><ul class="dropdown-menu">
<?PHP
if($_SESSION[$rspathhex.'tsname'] == $lang['stag0016'] || $_SESSION[$rspathhex.'tsname'] == "verification needed (multiple)!" || $_SESSION[$rspathhex.'connected'] == 0) {
if(isset($_SESSION[$rspathhex.'tsname']) && $_SESSION[$rspathhex.'tsname'] == $lang['stag0016'] || isset($_SESSION[$rspathhex.'tsname']) && $_SESSION[$rspathhex.'tsname'] == "verification needed (multiple)!" || isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
echo '<li><a href="verify.php"><i class="fas fa-key"></i>&nbsp;'.$lang['stag0017'].'</a></li>';
}
if(isset($_SESSION[$rspathhex.'admin']) && $_SESSION[$rspathhex.'admin'] == TRUE) {
@@ -227,7 +367,7 @@ if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSIO
} else {
echo '<li><a href="//',$_SERVER['SERVER_NAME'],':',$_SERVER['SERVER_PORT'],substr(dirname($_SERVER['SCRIPT_NAME']),0,-5),'webinterface/bot.php"><i class="fas fa-wrench"></i>&nbsp;',$lang['wi'],'</a></li>';
}
} elseif ($_SESSION[$rspathhex.'connected'] == 0) {
} elseif (isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
echo '<li><a href="ts3server://';
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
echo preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
@@ -314,15 +454,4 @@ if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSIO
} else {
echo '<div id="container">';
}
function error_handling($msg,$type = NULL) {
switch ($type) {
case NULL: echo '<div class="alert alert-success alert-dismissible">'; break;
case 1: echo '<div class="alert alert-info alert-dismissible">'; break;
case 2: echo '<div class="alert alert-warning alert-dismissible">'; break;
case 3: echo '<div class="alert alert-danger alert-dismissible">'; break;
}
echo '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>',$msg,'</div>';
}
?>

View File

@@ -1,26 +1,28 @@
<?PHP
ini_set('session.cookie_httponly', 1);
ini_set('session.use_strict_mode', 1);
if(in_array('sha512', hash_algos())) {
ini_set('session.hash_function', 'sha512');
}
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") {
ini_set('session.cookie_secure', 1);
if(!headers_sent()) {
header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;");
}
}
session_start();
require_once('../other/_functions.php');
require_once('../other/config.php');
require_once('../other/session.php');
require_once('../other/phpcommand.php');
require_once('../other/load_addons_config.php');
$addons_config = load_addons_config($mysqlcon,$lang,$cfg,$dbname);
start_session($cfg);
$lang = set_language(get_language($cfg));
if(!isset($_SESSION[$rspathhex.'tsuid'])) {
set_session_ts3($mysqlcon,$cfg,$lang,$dbname);
error_reporting(E_ALL);
ini_set("log_errors", 1);
set_error_handler("php_error_handling");
ini_set("error_log", $cfg['logs_path'].'ranksystem.log');
if(isset($_POST['refresh'])) {
rem_session_ts3();
}
require_once('_nav.php');
try {
require_once('../other/phpcommand.php');
require_once('../other/load_addons_config.php');
$addons_config = load_addons_config($mysqlcon,$lang,$cfg,$dbname);
if(!isset($_SESSION[$rspathhex.'tsuid'])) {
set_session_ts3($mysqlcon,$cfg,$lang,$dbname);
}
require_once('_nav.php');
} catch(Throwable $ex) { }
?>

View File

@@ -1,168 +1,176 @@
<?PHP
require_once('_preload.php');
if($addons_config['assign_groups_active']['value'] != '1') {
echo "addon is disabled";
exit;
}
if(isset($_SESSION[$rspathhex.'tsuid'])) {
$uuid = $_SESSION[$rspathhex.'tsuid'];
} else {
$uuid = "no_uuid_found";
}
if(($dbdata = $mysqlcon->query("SELECT `cldgroup` FROM `$dbname`.`user` WHERE `uuid`='$uuid'")->fetch()) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
$cld_groups = explode(',', $dbdata['cldgroup']);
$disabled = '';
$allowed_groups_arr = array();
$csrf_token = bin2hex(openssl_random_pseudo_bytes(32));
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if(count($_SESSION[$rspathhex.'multiple']) > 1 and !isset($_SESSION[$rspathhex.'uuid_verified'])) {
$disabled = 1;
$err_msg = sprintf($lang['stag0006'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} elseif ($_SESSION[$rspathhex.'connected'] == 0) {
$err_msg = sprintf($lang['stag0015'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
$disabled = 1;
} else {
if(($sqlhisgroup = $mysqlcon->query("SELECT * FROM `$dbname`.`groups`")->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
$allowed_groups_arr = explode(',', $addons_config['assign_groups_groupids']['value']);
$excepted_groups_arr = explode(',', $addons_config['assign_groups_excepted_groupids']['value']);
if(isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
if(($sumentries = $mysqlcon->query("SELECT COUNT(*) FROM `$dbname`.`addon_assign_groups` WHERE `uuid`='$uuid'")->fetch(PDO::FETCH_NUM)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} else {
if($sumentries[0] > 0) {
$err_msg = $lang['stag0007']; $err_lvl = 3;
} else {
$set_groups = '';
$count_limit = $excepted = 0;
if(isset($excepted_groups_arr) && $excepted_groups_arr != '') {
foreach($excepted_groups_arr as $excepted_group) {
if(in_array($excepted_group, $cld_groups)) {
$excepted++;
$err_msg = sprintf($lang['stag0019'], $sqlhisgroup[$excepted_group]['sgidname'], $excepted_group);
break;
}
}
}
foreach($allowed_groups_arr as $allowed_group) {
if(in_array($allowed_group, $cld_groups)) {
$count_limit++;
}
if(isset($_POST[$allowed_group]) && $_POST[$allowed_group] == 1 && !in_array($allowed_group, $cld_groups)) {
$set_groups .= $allowed_group.',';
array_push($cld_groups, $allowed_group);
$count_limit++;
}
if(!isset($_POST[$allowed_group]) && in_array($allowed_group, $cld_groups)) {
$set_groups .= '-'.$allowed_group.',';
$position = array_search($allowed_group, $cld_groups);
array_splice($cld_groups, $position, 1);
$count_limit--;
}
}
$set_groups = substr($set_groups, 0, -1);
if($set_groups != '' && $count_limit <= $addons_config['assign_groups_limit']['value'] && $excepted == 0) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`addon_assign_groups` SET `uuid`='$uuid',`grpids`='$set_groups'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} else {
$err_msg = $lang['stag0008']; $err_lvl = NULL;
}
} elseif($count_limit > $addons_config['assign_groups_limit']['value']) {
$err_msg = sprintf($lang['stag0009'], $addons_config['assign_groups_limit']['value']); $err_lvl = 3;
} elseif($excepted > 0) {
$err_lvl = 3;
} else {
$err_msg = $lang['stag0010']; $err_lvl = 3;
}
}
}
} elseif(isset($_POST['update'])) {
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
rem_session_ts3($rspathhex);
try {
if($addons_config['assign_groups_active']['value'] != '1') {
echo "addon is disabled";
exit;
}
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stag0001']; ?>
</h1>
</div>
</div>
<form class="form-horizontal" name="update" method="POST">
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
if(isset($_SESSION[$rspathhex.'tsuid'])) {
$uuid = $_SESSION[$rspathhex.'tsuid'];
} else {
$uuid = "no_uuid_found";
}
if(($dbdata = $mysqlcon->query("SELECT `cldgroup` FROM `$dbname`.`user` WHERE `uuid`='$uuid'")->fetch()) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
$cld_groups = array();
if(isset($dbdata['cldgroup']) && $dbdata['cldgroup'] != '') {
$cld_groups = explode(',', $dbdata['cldgroup']);
}
$disabled = '';
$allowed_groups_arr = array();
$csrf_token = bin2hex(openssl_random_pseudo_bytes(32));
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if(count($_SESSION[$rspathhex.'multiple']) > 1 and !isset($_SESSION[$rspathhex.'uuid_verified'])) {
$disabled = 1;
$err_msg = sprintf($lang['stag0006'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} elseif ($_SESSION[$rspathhex.'connected'] == 0) {
$err_msg = sprintf($lang['stag0015'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
$disabled = 1;
} else {
if(($sqlhisgroup = $mysqlcon->query("SELECT * FROM `$dbname`.`groups`")->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
$allowed_groups_arr = explode(',', $addons_config['assign_groups_groupids']['value']);
$excepted_groups_arr = explode(',', $addons_config['assign_groups_excepted_groupids']['value']);
if(isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
if(($sumentries = $mysqlcon->query("SELECT COUNT(*) FROM `$dbname`.`addon_assign_groups` WHERE `uuid`='$uuid'")->fetch(PDO::FETCH_NUM)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} else {
if($sumentries[0] > 0) {
$err_msg = $lang['stag0007']; $err_lvl = 3;
} else {
$set_groups = '';
$count_limit = $excepted = 0;
if(isset($excepted_groups_arr) && $excepted_groups_arr != '') {
foreach($excepted_groups_arr as $excepted_group) {
if(in_array($excepted_group, $cld_groups)) {
$excepted++;
$err_msg = sprintf($lang['stag0019'], $sqlhisgroup[$excepted_group]['sgidname'], $excepted_group);
break;
}
}
}
foreach($allowed_groups_arr as $allowed_group) {
if(in_array($allowed_group, $cld_groups)) {
$count_limit++;
}
if(isset($_POST[$allowed_group]) && $_POST[$allowed_group] == 1 && !in_array($allowed_group, $cld_groups)) {
$set_groups .= $allowed_group.',';
array_push($cld_groups, $allowed_group);
$count_limit++;
}
if(!isset($_POST[$allowed_group]) && in_array($allowed_group, $cld_groups)) {
$set_groups .= '-'.$allowed_group.',';
$position = array_search($allowed_group, $cld_groups);
array_splice($cld_groups, $position, 1);
$count_limit--;
}
}
$set_groups = substr($set_groups, 0, -1);
if($set_groups != '' && $count_limit <= $addons_config['assign_groups_limit']['value'] && $excepted == 0) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`addon_assign_groups` SET `uuid`='$uuid',`grpids`='$set_groups'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} else {
$err_msg = $lang['stag0008']; $err_lvl = NULL;
}
} elseif($count_limit > $addons_config['assign_groups_limit']['value']) {
$err_msg = sprintf($lang['stag0009'], $addons_config['assign_groups_limit']['value']); $err_lvl = 3;
} elseif($excepted > 0) {
$err_lvl = 3;
} else {
$err_msg = $lang['stag0010']; $err_lvl = 3;
}
}
}
} elseif(isset($_POST['update'])) {
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
rem_session_ts3();
exit;
}
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
</div>
<div class="col-md-3">
<p class="text-right"><strong><?PHP echo $lang['stag0011'].$addons_config['assign_groups_limit']['value']; ?></strong></p>
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stag0001']; ?>
</h1>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="col-md-3">
<form class="form-horizontal" name="update" method="POST">
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
<div class="row">
<div class="col-md-6">
</div>
<div class="col-md-3">
<p class="text-right"><strong><?PHP echo $lang['stag0011'].$addons_config['assign_groups_limit']['value']; ?></strong></p>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<?PHP foreach($allowed_groups_arr as $allowed_group) { ?>
<div class="form-group">
<?PHP if (isset($sqlhisgroup[$allowed_group]['iconid']) && $sqlhisgroup[$allowed_group]['iconid'] != 0) { ?>
<label class="col-sm-5 control-label"><?php echo $sqlhisgroup[$allowed_group]['sgidname']; ?></label>
<label class="col-sm-1 control-label"><img src="../tsicons/<?PHP echo $sqlhisgroup[$allowed_group]['iconid'],'.',$sqlhisgroup[$allowed_group]['ext']; ?>" width="16" height="16" alt="missed_icon"></label>
<label class="col-sm-2 control-label"></label>
<?PHP } else { ?>
<label class="col-sm-5 control-label"><?php echo $sqlhisgroup[$allowed_group]['sgidname']; ?></label>
<label class="col-sm-3 control-label"></label>
<?PHP } ?>
<div class="col-sm-2">
<?PHP if(in_array($allowed_group, $cld_groups)) {
echo '<input type="checkbox" checked data-size="mini" name="',$allowed_group,'" value="1">';
} else {
echo '<input type="checkbox" data-size="mini" name="',$allowed_group,'" value="1">';
} ?>
<div class="row">&nbsp;</div>
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<?PHP foreach($allowed_groups_arr as $allowed_group) { ?>
<div class="form-group">
<?PHP if (isset($sqlhisgroup[$allowed_group]['iconid']) && $sqlhisgroup[$allowed_group]['iconid'] != 0) { ?>
<label class="col-sm-5 control-label"><?php echo $sqlhisgroup[$allowed_group]['sgidname']; ?></label>
<label class="col-sm-1 control-label"><img src="../tsicons/<?PHP echo $sqlhisgroup[$allowed_group]['iconid'],'.',$sqlhisgroup[$allowed_group]['ext']; ?>" width="16" height="16" alt="missed_icon"></label>
<label class="col-sm-2 control-label"></label>
<?PHP } else { ?>
<label class="col-sm-5 control-label"><?php echo $sqlhisgroup[$allowed_group]['sgidname']; ?></label>
<label class="col-sm-3 control-label"></label>
<?PHP } ?>
<div class="col-sm-2">
<?PHP if(in_array($allowed_group, $cld_groups)) {
echo '<input type="checkbox" checked data-size="mini" name="',$allowed_group,'" value="1">';
} else {
echo '<input type="checkbox" data-size="mini" name="',$allowed_group,'" value="1">';
} ?>
</div>
</div>
<?PHP } ?>
</div>
<?PHP } ?>
</div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="text-center">
<button type="submit" name="update" class="btn btn-primary"<?PHP if($disabled == 1) echo " disabled"; ?>><?PHP echo $lang['stag0012']; ?></button>
<div class="row">&nbsp;</div>
<div class="row">
<div class="text-center">
<button type="submit" name="update" class="btn btn-primary"<?PHP if($disabled == 1) echo " disabled"; ?>><?PHP echo $lang['stag0012']; ?></button>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
</form>
<div class="row">&nbsp;</div>
</form>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,61 +1,66 @@
<?PHP
require_once('_preload.php');
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['imprint']; ?>
</h1>
</div>
</div>
<?PHP
if (isset($cfg['stats_imprint_switch']) && $cfg['stats_imprint_switch'] == 1) {
echo '
try {
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-info">' . $lang['wiimpaddr'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_address'] . '</p>
<br>
<h1 class="page-header">
<?PHP echo $lang['imprint']; ?>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-warning">' . $lang['wiimpemail'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_email'] . '</p>
<br>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-warning">' . $lang['wiimpphone'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_phone'] . '</p>
<br>
</div>
</div>';
if ($cfg['stats_imprint_notes'] != NULL) {
<?PHP
if (isset($cfg['stats_imprint_switch']) && $cfg['stats_imprint_switch'] == 1) {
echo '
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger">' . $lang['wiimpnotes'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_notes'] . '</p>
<h5><strong><span class="text-info">' . $lang['wiimpaddr'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_address'] . '</p>
<br>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-warning">' . $lang['wiimpemail'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_email'] . '</p>
<br>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-warning">' . $lang['wiimpphone'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_phone'] . '</p>
<br>
</div>
</div>';
if ($cfg['stats_imprint_notes'] != NULL) {
echo '
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger">' . $lang['wiimpnotes'] . '</span></strong></h5>
<p>' . $cfg['stats_imprint_notes'] . '</p>
</div>
</div>';
}
} else {
echo '
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger">' . $lang['module_disabled'] . '</span></strong></h5>
</div>
</div>';
}
} else {
echo '
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger">' . $lang['module_disabled'] . '</span></strong></h5>
</div>
</div>';
}
?>
?>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,480 +1,478 @@
<?PHP
require_once('_preload.php');
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
try {
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
}
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
if(($sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_server`")->fetch()) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
}
function human_readable_size($bytes,$lang) {
$size = array($lang['size_byte'],$lang['size_kib'],$lang['size_mib'],$lang['size_gib'],$lang['size_tib'],$lang['size_pib'],$lang['size_eib'],$lang['size_zib'],$lang['size_yib']);
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.2f", $bytes / pow(1024, $factor)) . ' ' . @$size[$factor];
}
if(($sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_server`")->fetch()) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` WHERE `sgid`=0")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stix0001']; ?>
<a href="#infoModal" data-toggle="modal" class="btn btn-primary">
<span class="fas fa-info-circle" aria-hidden="true"></span>
</a>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['total_user'] ?></div>
<div><?PHP echo $lang['stix0002']; ?></div>
</div>
</div>
</div>
<a href="list_rankup.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0003']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` WHERE `sgid`=0")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stix0001']; ?>
<a href="#infoModal" data-toggle="modal" class="btn btn-primary">
<span class="fas fa-info-circle" aria-hidden="true"></span>
</a>
</h1>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_time'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_time'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_time'] / 86400))); } ?></div>
<div><?PHP echo $lang['stix0004']; ?></div>
</div>
</div>
</div>
<a href="top_all.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0005']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_month'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_month'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_month'] / 86400))); } ?></div>
<div><?PHP if($sql_res['total_online_month'] == 0) { echo $lang['stix0048']; } else { echo $lang['stix0049']; } ?></div>
</div>
</div>
</div>
<a href="top_month.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0006']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_week'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_week'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_week'] / 86400))); } ?></div>
<div><?PHP if ($sql_res['total_online_week'] == 0) { echo $lang['stix0048']; } else { echo $lang['stix0050']; } ?></div>
</div>
</div>
</div>
<a href="top_week.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0007']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-6">
<h3 class="panel-title"><i class="fas fa-chart-area"></i>&nbsp;<?PHP echo $lang['stix0008']; ?></h3>
</div>
<div class="col-xs-6">
<div class="btn-group pull-right">
<select class="form-control" id="period">
<option value="day"><?PHP echo $lang['stix0013']; ?></option>
<option value="week"><?PHP echo $lang['stix0014']; ?></option>
<option value="month"><?PHP echo $lang['stix0015']; ?></option>
<option value="3month"><?PHP echo $lang['stix0064']; ?></option>
</select>
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['total_user'] ?></div>
<div><?PHP echo $lang['stix0002']; ?></div>
</div>
</div>
</div>
</div>
<div class="panel-body">
<div id="serverusagechart"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0016']; ?></h3>
</div>
<div class="panel-body">
<div id="time-gap-donut"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0017']; ?></h3>
</div>
<div class="panel-body">
<div id="client-version-donut"></div>
</div>
<a href="versions.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0061']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0018']; ?></h3>
</div>
<div class="panel-body">
<div id="user-descent-donut"></div>
</div>
<a href="nations.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0062']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0019']; ?></h3>
</div>
<div class="panel-body">
<div id="user-platform-donut"></div>
</div>
<a href="platforms.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0063']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
<a href="list_rankup.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0003']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_today']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',$lang['stix0055']; ?></div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_time'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_time'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_time'] / 86400))); } ?></div>
<div><?PHP echo $lang['stix0004']; ?></div>
</div>
</div>
</div>
<a href="top_all.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0005']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-86400; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',$lang['stix0055'],')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_month'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_month'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_month'] / 86400))); } ?></div>
<div><?PHP if($sql_res['total_online_month'] == 0) { echo $lang['stix0048']; } else { echo $lang['stix0049']; } ?></div>
</div>
</div>
</div>
</a>
<a href="top_month.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0006']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-clock fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP if(round(($sql_res['total_online_week'] / 86400)) == 1) { echo sprintf($lang['day'], round(($sql_res['total_online_week'] / 86400))); } else { echo sprintf($lang['days'], round(($sql_res['total_online_week'] / 86400))); } ?></div>
<div><?PHP if ($sql_res['total_online_week'] == 0) { echo $lang['stix0048']; } else { echo $lang['stix0050']; } ?></div>
</div>
</div>
</div>
<a href="top_week.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0007']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_week']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '7'); ?></div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-6">
<h3 class="panel-title"><i class="fas fa-chart-area"></i>&nbsp;<?PHP echo $lang['stix0008']; ?></h3>
</div>
<div class="col-xs-6">
<div class="btn-group pull-right">
<select class="form-control" id="period">
<option value="day"><?PHP echo $lang['stix0013']; ?></option>
<option value="week"><?PHP echo $lang['stix0014']; ?></option>
<option value="month"><?PHP echo $lang['stix0015']; ?></option>
<option value="3month"><?PHP echo $lang['stix0064']; ?></option>
</select>
</div>
</div>
</div>
</div>
<div class="panel-body">
<div id="serverusagechart"></div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-604800; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '7'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_month']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '30'); ?></div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0016']; ?></h3>
</div>
<div class="panel-body">
<div id="time-gap-donut"></div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-2592000; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '30'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_quarter']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '90'); ?></div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0017']; ?></h3>
</div>
<div class="panel-body">
<div id="client-version-donut"></div>
</div>
<a href="versions.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0061']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-7776000; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '90'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0018']; ?></h3>
</div>
</a>
<div class="panel-body">
<div id="user-descent-donut"></div>
</div>
<a href="nations.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0062']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['stix0019']; ?></h3>
</div>
<div class="panel-body">
<div id="user-platform-donut"></div>
</div>
<a href="platforms.php">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0063']; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<h2><?PHP echo $lang['stix0020']; ?></h2>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<td><?PHP echo $lang['stix0023']; ?></td>
<td><?PHP if($sql_res['server_status'] == 1 || $sql_res['server_status'] == 3) { echo '<span class="text-success">'.$lang['stix0024'].'</span>'; } else { echo '<span class="text-danger">'.$lang['stix0025'].'</span>'; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0026']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '0'; } else { echo $sql_res['server_used_slots'] , ' / ' ,($sql_res['server_used_slots'] + $sql_res['server_free_slots']); } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0027']; ?></td>
<td><?PHP echo $sql_res['server_channel_amount']; ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0028']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '-';} else { echo $sql_res['server_ping'] . ' ' . $lang['time_ms'];} ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0029']; ?></td>
<td><?PHP echo human_readable_size($sql_res['server_bytes_down'],$lang); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0030']; ?></td>
<td><?PHP echo human_readable_size($sql_res['server_bytes_up'],$lang); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0031']; ?></td>
<td><?PHP $serveruptime = new DateTime("@".$sql_res['server_uptime']); if ($sql_res['server_status'] == 0) { echo '-&nbsp;&nbsp;&nbsp;(<i>'.$lang['stix0032'].'&nbsp;'.(new DateTime("@0"))->diff($serveruptime)->format($cfg['default_date_format']).')</i>'; } else { echo $lang['stix0033']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0034']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '-'; } else { echo $sql_res['server_packet_loss'] * 100 ,' %';} ?></td>
</tr>
</tbody>
</table>
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_today']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',$lang['stix0055']; ?></div>
</div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-86400; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',$lang['stix0055'],')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_week']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '7'); ?></div>
</div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-604800; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '7'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_month']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '30'); ?></div>
</div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-2592000; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '30'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fas fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?PHP echo $sql_res['user_quarter']; ?></div>
<div><?PHP echo $lang['stix0060'],' ',sprintf($lang['stix0056'], '90'); ?></div>
</div>
</div>
</div>
<a href="list_rankup.php?sort=lastseen&order=desc&search=filter:lastseen:%3e:<?PHP echo time()-7776000; ?>:">
<div class="panel-footer">
<span class="pull-left"><?PHP echo $lang['stix0059'],' (',sprintf($lang['stix0056'], '90'),')'; ?></span>
<span class="pull-right"><i class="fas fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
<div class="col-lg-6">
<h2><?PHP echo $lang['stix0035']; ?></h2>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<td><?PHP echo $lang['stix0036']; ?></td>
<td><?PHP if(file_exists("../tsicons/servericon.".$groupslist[0]['ext'])) {
$img_content = file_get_contents("../tsicons/servericon.".$groupslist[0]['ext']);
echo $sql_res['server_name'] .'<div class="pull-right"><img src="data:',$groupslist[0]['ext'],';base64,'.base64_encode($img_content).'" width="16" height="16" alt="servericon"></div>';
} else { echo $sql_res['server_name']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0037']; ?></td>
<td><a href="ts3server://<?PHP
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
echo preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
echo $_SERVER['HTTP_HOST'];
} else {
echo $cfg['teamspeak_host_address'];
}
echo ':'.$cfg['teamspeak_voice_port']; ?>">
<?PHP
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
echo preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
echo $_SERVER['HTTP_HOST'];
} else {
echo $cfg['teamspeak_host_address'];
}
echo ':'.$cfg['teamspeak_voice_port']; ?></a></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0038']; ?></td>
<td><?PHP if($sql_res['server_pass'] == '0') {echo $lang['stix0039']; } else { echo $lang['stix0040']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0041']; ?></td>
<td><?PHP echo $sql_res['server_id'] ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0042']; ?></td>
<td><?PHP echo $sql_res['server_platform'] ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0043']; ?></td>
<td><?PHP echo substr($sql_res['server_version'], 0, strpos($sql_res['server_version'], ' ')); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0044']; ?></td>
<td><?PHP if($sql_res['server_creation_date']==0) { echo $lang['stix0051']; } else { echo date('d/m/Y', $sql_res['server_creation_date']);} ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0045']; ?></td>
<td><?PHP if ($sql_res['server_weblist'] == 1) { echo $lang['stix0046']; } else { echo $lang['stix0047']; } ?></td>
</tr>
</tbody>
</table>
<div class="row">
<div class="col-lg-6">
<h2><?PHP echo $lang['stix0020']; ?></h2>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<td><?PHP echo $lang['stix0023']; ?></td>
<td><?PHP if($sql_res['server_status'] == 1 || $sql_res['server_status'] == 3) { echo '<span class="text-success">'.$lang['stix0024'].'</span>'; } else { echo '<span class="text-danger">'.$lang['stix0025'].'</span>'; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0026']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '0'; } else { echo $sql_res['server_used_slots'] , ' / ' ,($sql_res['server_used_slots'] + $sql_res['server_free_slots']); } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0027']; ?></td>
<td><?PHP echo $sql_res['server_channel_amount']; ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0028']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '-';} else { echo $sql_res['server_ping'] . ' ' . $lang['time_ms'];} ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0029']; ?></td>
<td><?PHP echo human_readable_size($sql_res['server_bytes_down'],$lang); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0030']; ?></td>
<td><?PHP echo human_readable_size($sql_res['server_bytes_up'],$lang); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0031']; ?></td>
<td><?PHP $serveruptime = new DateTime("@".$sql_res['server_uptime']); if ($sql_res['server_status'] == 0) { echo '-&nbsp;&nbsp;&nbsp;(<i>'.$lang['stix0032'].'&nbsp;'.(new DateTime("@0"))->diff($serveruptime)->format($cfg['default_date_format']).')</i>'; } else { echo $lang['stix0033']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0034']; ?></td>
<td><?PHP if($sql_res['server_status'] == 0) { echo '-'; } else { echo $sql_res['server_packet_loss'] * 100 ,' %';} ?></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-lg-6">
<h2><?PHP echo $lang['stix0035']; ?></h2>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<td><?PHP echo $lang['stix0036']; ?></td>
<td><?PHP if(file_exists("../tsicons/servericon.".$groupslist[0]['ext'])) {
$img_content = file_get_contents("../tsicons/servericon.".$groupslist[0]['ext']);
echo $sql_res['server_name'] .'<div class="pull-right"><img src="data:',$groupslist[0]['ext'],';base64,'.base64_encode($img_content).'" width="16" height="16" alt="servericon"></div>';
} else { echo $sql_res['server_name']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0037']; ?></td>
<td><a href="ts3server://<?PHP
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
echo preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
echo $_SERVER['HTTP_HOST'];
} else {
echo $cfg['teamspeak_host_address'];
}
echo ':'.$cfg['teamspeak_voice_port']; ?>">
<?PHP
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
echo preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
echo $_SERVER['HTTP_HOST'];
} else {
echo $cfg['teamspeak_host_address'];
}
echo ':'.$cfg['teamspeak_voice_port']; ?></a></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0038']; ?></td>
<td><?PHP if($sql_res['server_pass'] == '0') {echo $lang['stix0039']; } else { echo $lang['stix0040']; } ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0041']; ?></td>
<td><?PHP echo $sql_res['server_id'] ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0042']; ?></td>
<td><?PHP echo $sql_res['server_platform'] ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0043']; ?></td>
<td><?PHP echo substr($sql_res['server_version'], 0, strpos($sql_res['server_version'], ' ')); ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0044']; ?></td>
<td><?PHP if($sql_res['server_creation_date']==0) { echo $lang['stix0051']; } else { echo date('d/m/Y', $sql_res['server_creation_date']);} ?></td>
</tr>
<tr>
<td><?PHP echo $lang['stix0045']; ?></td>
<td><?PHP if ($sql_res['server_weblist'] == 1) { echo $lang['stix0046']; } else { echo $lang['stix0047']; } ?></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="sut" value="<?PHP echo $sql_res['server_uptime']; ?>">
<input type="hidden" id="tsn1" value="<?PHP echo $lang['stix0053']; ?>">
<input type="hidden" id="tsn2" value="<?PHP echo $lang['stix0054']; ?>">
<input type="hidden" id="tsn3" value="<?PHP echo $lang['stix0052']; ?>">
<input type="hidden" id="tsn4" value="<?PHP echo round(($sql_res['total_active_time'] / 86400)); ?>">
<input type="hidden" id="tsn5" value="<?PHP echo round(($sql_res['total_inactive_time'] / 86400)); ?>">
<input type="hidden" id="tsn6" value="<?PHP echo $sql_res['version_name_1']; ?>">
<input type="hidden" id="tsn7" value="<?PHP echo $sql_res['version_name_2']; ?>">
<input type="hidden" id="tsn8" value="<?PHP echo $sql_res['version_name_3']; ?>">
<input type="hidden" id="tsn9" value="<?PHP echo $sql_res['version_name_4']; ?>">
<input type="hidden" id="tsn10" value="<?PHP echo $sql_res['version_name_5']; ?>">
<input type="hidden" id="tsn11" value="<?PHP echo $sql_res['version_1']; ?>">
<input type="hidden" id="tsn12" value="<?PHP echo $sql_res['version_2']; ?>">
<input type="hidden" id="tsn13" value="<?PHP echo $sql_res['version_3']; ?>">
<input type="hidden" id="tsn14" value="<?PHP echo $sql_res['version_4']; ?>">
<input type="hidden" id="tsn15" value="<?PHP echo $sql_res['version_5']; ?>">
<input type="hidden" id="tsn16" value="<?PHP echo $sql_res['version_other']; ?>">
<input type="hidden" id="sut" value="<?PHP echo $sql_res['server_uptime']; ?>">
<input type="hidden" id="tsn1" value="<?PHP echo $lang['stix0053']; ?>">
<input type="hidden" id="tsn2" value="<?PHP echo $lang['stix0054']; ?>">
<input type="hidden" id="tsn3" value="<?PHP echo $lang['stix0052']; ?>">
<input type="hidden" id="tsn4" value="<?PHP echo round(($sql_res['total_active_time'] / 86400)); ?>">
<input type="hidden" id="tsn5" value="<?PHP echo round(($sql_res['total_inactive_time'] / 86400)); ?>">
<input type="hidden" id="tsn6" value="<?PHP echo $sql_res['version_name_1']; ?>">
<input type="hidden" id="tsn7" value="<?PHP echo $sql_res['version_name_2']; ?>">
<input type="hidden" id="tsn8" value="<?PHP echo $sql_res['version_name_3']; ?>">
<input type="hidden" id="tsn9" value="<?PHP echo $sql_res['version_name_4']; ?>">
<input type="hidden" id="tsn10" value="<?PHP echo $sql_res['version_name_5']; ?>">
<input type="hidden" id="tsn11" value="<?PHP echo $sql_res['version_1']; ?>">
<input type="hidden" id="tsn12" value="<?PHP echo $sql_res['version_2']; ?>">
<input type="hidden" id="tsn13" value="<?PHP echo $sql_res['version_3']; ?>">
<input type="hidden" id="tsn14" value="<?PHP echo $sql_res['version_4']; ?>">
<input type="hidden" id="tsn15" value="<?PHP echo $sql_res['version_5']; ?>">
<input type="hidden" id="tsn16" value="<?PHP echo $sql_res['version_other']; ?>">
<?PHP
if (isset($nation[$sql_res['country_nation_name_1']])) {
echo '<input type="hidden" id="tsn17" value="',$nation[$sql_res['country_nation_name_1']],'"><input type="hidden" id="tsn22" value="',$sql_res['country_nation_1'],'">';
} else {
echo '<input type="hidden" id="tsn17" value="unkown"><input type="hidden" id="tsn22" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_2']])) {
echo '<input type="hidden" id="tsn18" value="',$nation[$sql_res['country_nation_name_2']],'"><input type="hidden" id="tsn23" value="',$sql_res['country_nation_2'],'">';
} else {
echo '<input type="hidden" id="tsn18" value="unkown"><input type="hidden" id="tsn23" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_3']])) {
echo '<input type="hidden" id="tsn19" value="',$nation[$sql_res['country_nation_name_3']],'"><input type="hidden" id="tsn24" value="',$sql_res['country_nation_3'],'">';
} else {
echo '<input type="hidden" id="tsn19" value="unkown"><input type="hidden" id="tsn24" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_4']])) {
echo '<input type="hidden" id="tsn20" value="',$nation[$sql_res['country_nation_name_4']],'"><input type="hidden" id="tsn25" value="',$sql_res['country_nation_4'],'">';
} else {
echo '<input type="hidden" id="tsn20" value="unkown"><input type="hidden" id="tsn25" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_5']])) {
echo '<input type="hidden" id="tsn21" value="',$nation[$sql_res['country_nation_name_5']],'"><input type="hidden" id="tsn26" value="',$sql_res['country_nation_5'],'">';
} else {
echo '<input type="hidden" id="tsn21" value="unkown"><input type="hidden" id="tsn26" value="0">';
}
?>
<input type="hidden" id="tsn27" value="<?PHP echo $sql_res['country_nation_other']; ?>">
<input type="hidden" id="tsn28" value="<?PHP echo $sql_res['platform_1']; ?>">
<input type="hidden" id="tsn29" value="<?PHP echo $sql_res['platform_2']; ?>">
<input type="hidden" id="tsn30" value="<?PHP echo $sql_res['platform_3']; ?>">
<input type="hidden" id="tsn31" value="<?PHP echo $sql_res['platform_4']; ?>">
<input type="hidden" id="tsn32" value="<?PHP echo $sql_res['platform_5']; ?>">
<input type="hidden" id="tsn33" value="<?PHP echo $sql_res['platform_other']; ?>">
<input type="hidden" id="tsn34" value="<?PHP echo ($sql_res['server_used_slots'] + $sql_res['server_free_slots']); ?>">
<input type="hidden" id="tsn35" value="<?PHP echo $cfg['stats_show_maxclientsline_switch']; ?>">
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
if (isset($nation[$sql_res['country_nation_name_1']])) {
echo '<input type="hidden" id="tsn17" value="',$sql_res['country_nation_name_1'],'"><input type="hidden" id="tsn22" value="',$sql_res['country_nation_1'],'">';
} else {
echo '<input type="hidden" id="tsn17" value="unkown"><input type="hidden" id="tsn22" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_2']])) {
echo '<input type="hidden" id="tsn18" value="',$sql_res['country_nation_name_2'],'"><input type="hidden" id="tsn23" value="',$sql_res['country_nation_2'],'">';
} else {
echo '<input type="hidden" id="tsn18" value="unkown"><input type="hidden" id="tsn23" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_3']])) {
echo '<input type="hidden" id="tsn19" value="',$sql_res['country_nation_name_3'],'"><input type="hidden" id="tsn24" value="',$sql_res['country_nation_3'],'">';
} else {
echo '<input type="hidden" id="tsn19" value="unkown"><input type="hidden" id="tsn24" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_4']])) {
echo '<input type="hidden" id="tsn20" value="',$sql_res['country_nation_name_4'],'"><input type="hidden" id="tsn25" value="',$sql_res['country_nation_4'],'">';
} else {
echo '<input type="hidden" id="tsn20" value="unkown"><input type="hidden" id="tsn25" value="0">';
}
if (isset($nation[$sql_res['country_nation_name_5']])) {
echo '<input type="hidden" id="tsn21" value="',$sql_res['country_nation_name_5'],'"><input type="hidden" id="tsn26" value="',$sql_res['country_nation_5'],'">';
} else {
echo '<input type="hidden" id="tsn21" value="unkown"><input type="hidden" id="tsn26" value="0">';
}
?>
<input type="hidden" id="tsn27" value="<?PHP echo $sql_res['country_nation_other']; ?>">
<input type="hidden" id="tsn28" value="<?PHP echo $sql_res['platform_1']; ?>">
<input type="hidden" id="tsn29" value="<?PHP echo $sql_res['platform_2']; ?>">
<input type="hidden" id="tsn30" value="<?PHP echo $sql_res['platform_3']; ?>">
<input type="hidden" id="tsn31" value="<?PHP echo $sql_res['platform_4']; ?>">
<input type="hidden" id="tsn32" value="<?PHP echo $sql_res['platform_5']; ?>">
<input type="hidden" id="tsn33" value="<?PHP echo $sql_res['platform_other']; ?>">
<input type="hidden" id="tsn34" value="<?PHP echo ($sql_res['server_used_slots'] + $sql_res['server_free_slots']); ?>">
<input type="hidden" id="tsn35" value="<?PHP echo $cfg['stats_show_maxclientsline_switch']; ?>">
<?PHP require_once('_footer.php'); ?>
</body>
</html>
} catch(Throwable $ex) { }
?>

View File

@@ -1,87 +1,92 @@
<?PHP
require_once('_preload.php');
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stri0001']; ?>
</h1>
try {
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stri0001']; ?>
</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-info"><?PHP echo $lang['stri0002']; ?></span></strong></h4>
<p><?PHP echo $lang['stri0003']; ?></p>
<br>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-info"><?PHP echo $lang['stri0002']; ?></span></strong></h4>
<p><?PHP echo $lang['stri0003']; ?></p>
<br>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-success"><?PHP echo $lang['stri0004']; ?></span></strong></h4>
<p>The <a href="//ts-ranksystem.com" target="_blank" rel="noopener noreferrer">Ranksystem</a> was coded by <strong>Newcomer1989</strong> Copyright &copy; 2009-2020 powered by <a href="//ts-n.net/" target="_blank" rel="noopener noreferrer">TS-N.NET</a></p>
<br>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-success"><?PHP echo $lang['stri0004']; ?></span></strong></h4>
<p>The <a href="//ts-ranksystem.com" target="_blank" rel="noopener noreferrer">Ranksystem</a> was coded by <strong>Newcomer1989</strong> Copyright &copy; 2009-2020 powered by <a href="//ts-n.net/" target="_blank" rel="noopener noreferrer">TS-N.NET</a></p>
<br>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-warning"><?PHP echo $lang['stri0005']; ?></span></strong></h4>
<p><?PHP echo $lang['stri0006']; ?></p>
<p><?PHP echo $lang['stri0007']; ?></p>
<p><?PHP echo $lang['stri0023']; ?></p>
<p><?PHP echo sprintf($lang['stri0008'], '//ts-ranksystem.com/#download'); ?></p>
<br>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-warning"><?PHP echo $lang['stri0005']; ?></span></strong></h4>
<p><?PHP echo $lang['stri0006']; ?></p>
<p><?PHP echo $lang['stri0007']; ?></p>
<p><?PHP echo $lang['stri0023']; ?></p>
<p><?PHP echo sprintf($lang['stri0008'], '//ts-ranksystem.com/#download'); ?></p>
<br>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-danger"><?PHP echo $lang['stri0009'];?></span></strong></h4>
<p><?PHP echo $lang['stri0010']; ?></p>
<p><a href="//php.net/" target="_blank" rel="noopener noreferrer">PHP</a> - Copyright &copy; 2001-2019 the <a href="//secure.php.net/credits.php" target="_blank" rel="noopener noreferrer">PHP Group</a></p><br>
<p><?PHP echo $lang['stri0011']; ?></p>
<p><a href="//jquery.com" target="_blank" rel="noopener noreferrer">jQuery v3.4.1</a> - Copyright &copy; 2020 The jQuery Foundation</p>
<p><a href="//fontawesome.com" target="_blank" rel="noopener noreferrer">Font Awesome 5.12.1</a> - Copyright &copy; Fonticons, Inc.</p>
<p><a href="//flagicons.lipis.dev/" target="_blank" rel="noopener noreferrer">flag-icon-css 2.8.0</a> - Copyright &copy; 2020 flag-icons</p>
<p><a href="//planetteamspeak.com" target="_blank" rel="noopener noreferrer">TeamSpeak 3 PHP Framework 1.1.33</a> - Copyright &copy; 2010-2018 Planet TeamSpeak</p>
<p><a href="//getbootstrap.com" target="_blank" rel="noopener noreferrer">Bootstrap 3.4.1</a> - Copyright &copy; 2011-2019 Twitter, Inc.</p>
<p><a href="//morrisjs.github.io/morris.js" target="_blank" rel="noopener noreferrer">morris.js 0.5.1</a> - Copyright &copy; 2013 Olly Smith</p>
<p><a href="//raphaeljs.com" target="_blank" rel="noopener noreferrer">Rapha&euml;l 2.2.1 - JavaScript Vector Library</a> - Copyright &copy; 2008-2012 Dmitry Baranovskiy</p>
<p><a href="//startbootstrap.com" target="_blank" rel="noopener noreferrer">SB Admin Bootstrap Admin Template</a> - Copyright &copy; 2013-2016 Blackrock Digital LLC.</p>
<p><a href="//github.com/Bttstrp/bootstrap-switch" target="_blank" rel="noopener noreferrer">Bootstrap Switch 3.3.2</a> - Copyright &copy; 2013-2015 Mattia Larentis</p>
<p><a href="//www.virtuosoft.eu/code/bootstrap-touchspin" target="_blank" rel="noopener noreferrer">Bootstrap TouchSpin 3.1.2</a> - Copyright &copy; 2013-2016 István Ujj-Mészáros</p>
<p><a href="//developer.snapappointments.com/bootstrap-select" target="_blank" rel="noopener noreferrer">bootstrap-select v1.13.9</a> - Copyright &copy; 2012-2019 SnapAppointments, LLC</p>
<p><a href="//wenzhixin.net.cn" target="_blank" rel="noopener noreferrer">Bootstrap Show Password 1.0.3</a> - Copyright &copy; 2014 zhixin wen</p>
<p><a href="//github.com/1000hz/bootstrap-validator" target="_blank" rel="noopener noreferrer">Bootstrap Validator</a> - Copyright &copy; 2016 Cina Saffary</p>
<br>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-danger"><?PHP echo $lang['stri0009'];?></span></strong></h4>
<p><?PHP echo $lang['stri0010']; ?></p>
<p><a href="//php.net/" target="_blank" rel="noopener noreferrer">PHP</a> - Copyright &copy; 2001-2019 the <a href="//secure.php.net/credits.php" target="_blank" rel="noopener noreferrer">PHP Group</a></p><br>
<p><?PHP echo $lang['stri0011']; ?></p>
<p><a href="//jquery.com" target="_blank" rel="noopener noreferrer">jQuery v3.4.1</a> - Copyright &copy; 2020 The jQuery Foundation</p>
<p><a href="//fontawesome.com" target="_blank" rel="noopener noreferrer">Font Awesome 5.12.1</a> - Copyright &copy; Fonticons, Inc.</p>
<p><a href="//flagicons.lipis.dev/" target="_blank" rel="noopener noreferrer">flag-icon-css 2.8.0</a> - Copyright &copy; 2020 flag-icons</p>
<p><a href="//planetteamspeak.com" target="_blank" rel="noopener noreferrer">TeamSpeak 3 PHP Framework 1.1.33</a> - Copyright &copy; 2010-2018 Planet TeamSpeak</p>
<p><a href="//getbootstrap.com" target="_blank" rel="noopener noreferrer">Bootstrap 3.4.1</a> - Copyright &copy; 2011-2019 Twitter, Inc.</p>
<p><a href="//morrisjs.github.io/morris.js" target="_blank" rel="noopener noreferrer">morris.js 0.5.1</a> - Copyright &copy; 2013 Olly Smith</p>
<p><a href="//raphaeljs.com" target="_blank" rel="noopener noreferrer">Rapha&euml;l 2.2.1 - JavaScript Vector Library</a> - Copyright &copy; 2008-2012 Dmitry Baranovskiy</p>
<p><a href="//startbootstrap.com" target="_blank" rel="noopener noreferrer">SB Admin Bootstrap Admin Template</a> - Copyright &copy; 2013-2016 Blackrock Digital LLC.</p>
<p><a href="//github.com/Bttstrp/bootstrap-switch" target="_blank" rel="noopener noreferrer">Bootstrap Switch 3.3.2</a> - Copyright &copy; 2013-2015 Mattia Larentis</p>
<p><a href="//www.virtuosoft.eu/code/bootstrap-touchspin" target="_blank" rel="noopener noreferrer">Bootstrap TouchSpin 3.1.2</a> - Copyright &copy; 2013-2016 István Ujj-Mészáros</p>
<p><a href="//developer.snapappointments.com/bootstrap-select" target="_blank" rel="noopener noreferrer">bootstrap-select v1.13.9</a> - Copyright &copy; 2012-2019 SnapAppointments, LLC</p>
<p><a href="//wenzhixin.net.cn" target="_blank" rel="noopener noreferrer">Bootstrap Show Password 1.0.3</a> - Copyright &copy; 2014 zhixin wen</p>
<p><a href="//github.com/1000hz/bootstrap-validator" target="_blank" rel="noopener noreferrer">Bootstrap Validator</a> - Copyright &copy; 2016 Cina Saffary</p>
<br>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-info"><?PHP echo $lang['stri0012']; ?></span></strong></h4>
<p><?PHP echo sprintf($lang['stri0021'], '<a href="//hdf-multigaming.de" target="_blank">Shad86</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0022'], '<a href="//magicbroccoli.de" target="_blank">mightyBroccoli</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0013'], 'sergey, <a href="//vk.com/akhachirov" target="_blank">Arselopster</a>, <a href="//vk.com/zheez" target="_blank">DeviantUser</a> & <a href="//goodgame.by/" target="_blank">kidi</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0014'], 'Bejamin Frost -'); ?></p>
<p><?PHP echo sprintf($lang['stri0015'], '<a href="//hydrake.eu/" target="_blank">ZanK</a> & jacopomozzy -'); ?></p>
<p><?PHP echo sprintf($lang['stri0016'], '<a href="//iraqgaming.net/" target="_blank">DeStRoYzR</a> & Jehad -'); ?></p>
<p><?PHP echo sprintf($lang['stri0017'], '<a href="//whitecs.ro/" target="_blank">SakaLuX</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0018'], '<a href="//r4p3.net/members/0x0539.5476/" target="_blank">0x0539</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0019'], 'Quentinti -'); ?></p>
<p><?PHP echo sprintf($lang['stri0020'], '<a href="mailto://celso@esbsb.com.br" target="_blank">Pasha</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0024'], '<a href="//zasivarna.cloud" target="_blank">KeviN</a> & <a href="//github.com/Stetinac" target="_blank">Stetinac</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0025'], '<a href="//github.com/DoktorekOne" target="_blank">DoktorekOne</a> & <a href="//toster.dev/" target="_blank">toster234</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0026'], '<a href="//foro.gameflix.es" target="_blank">JavierlechuXD</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0027'], '<a href="//warriortigers.hu" target="_blank">ExXeL</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0028'], '<a href="//grezhost.com" target="_blank">G. FARZALIYEV</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0029'], '<a href="//nick-slowinski.de" target="_blank">Nick Slowinski</a> -'); ?></p>
<br>
<div class="row">
<div class="col-lg-12">
<h4><strong><span class="text-info"><?PHP echo $lang['stri0012']; ?></span></strong></h4>
<p><?PHP echo sprintf($lang['stri0021'], '<a href="//hdf-multigaming.de" target="_blank">Shad86</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0022'], '<a href="//magicbroccoli.de" target="_blank">mightyBroccoli</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0013'], 'sergey, <a href="//vk.com/akhachirov" target="_blank">Arselopster</a>, <a href="//vk.com/zheez" target="_blank">DeviantUser</a> & <a href="//goodgame.by/" target="_blank">kidi</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0014'], 'Bejamin Frost -'); ?></p>
<p><?PHP echo sprintf($lang['stri0015'], '<a href="//hydrake.eu/" target="_blank">ZanK</a> & jacopomozzy -'); ?></p>
<p><?PHP echo sprintf($lang['stri0016'], '<a href="//iraqgaming.net/" target="_blank">DeStRoYzR</a> & Jehad -'); ?></p>
<p><?PHP echo sprintf($lang['stri0017'], '<a href="//whitecs.ro/" target="_blank">SakaLuX</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0018'], '<a href="//r4p3.net/members/0x0539.5476/" target="_blank">0x0539</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0019'], 'Quentinti -'); ?></p>
<p><?PHP echo sprintf($lang['stri0020'], '<a href="mailto://celso@esbsb.com.br" target="_blank">Pasha</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0024'], '<a href="//zasivarna.cloud" target="_blank">KeviN</a> & <a href="//github.com/Stetinac" target="_blank">Stetinac</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0025'], '<a href="//github.com/DoktorekOne" target="_blank">DoktorekOne</a> & <a href="//toster.dev/" target="_blank">toster234</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0026'], '<a href="//foro.gameflix.es" target="_blank">JavierlechuXD</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0027'], '<a href="//warriortigers.hu" target="_blank">ExXeL</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0028'], '<a href="//grezhost.com" target="_blank">G. FARZALIYEV</a> -'); ?></p>
<p><?PHP echo sprintf($lang['stri0029'], '<a href="//nick-slowinski.de" target="_blank">Nick Slowinski</a> -'); ?></p>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,437 +1,265 @@
<?PHP
require_once('_preload.php');
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
try {
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
}
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
}
}
function getclientip() {
if (!empty($_SERVER['HTTP_CLIENT_IP']))
return $_SERVER['HTTP_CLIENT_IP'];
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
return $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif(!empty($_SERVER['HTTP_X_FORWARDED']))
return $_SERVER['HTTP_X_FORWARDED'];
elseif(!empty($_SERVER['HTTP_FORWARDED_FOR']))
return $_SERVER['HTTP_FORWARDED_FOR'];
elseif(!empty($_SERVER['HTTP_FORWARDED']))
return $_SERVER['HTTP_FORWARDED'];
elseif(!empty($_SERVER['REMOTE_ADDR']))
return $_SERVER['REMOTE_ADDR'];
else
return false;
}
$start = ($seite * $user_pro_seite) - $user_pro_seite;
if(!isset($_SESSION[$rspathhex.'tsuid'])) {
set_session_ts3($mysqlcon,$cfg,$lang,$dbname);
}
if(isset($_POST['username'])) {
$_GET["search"] = $_POST['usersuche'];
$_GET["seite"] = 1;
}
$filter = $searchstring = NULL;
if(isset($_GET["search"]) && $_GET["search"] != '') {
$getstring = htmlspecialchars($_GET['search']);
}
if(isset($getstring) && strstr($getstring, 'filter:excepted:')) {
if(str_replace('filter:excepted:','',$getstring)!='') {
$searchstring = str_replace('filter:excepted:','',$getstring);
}
$filter .= " AND `except` IN ('2','3')";
} elseif(isset($getstring) && strstr($getstring, 'filter:nonexcepted:')) {
if(str_replace('filter:nonexcepted:','',$getstring)!='') {
$searchstring = str_replace('filter:nonexcepted:','',$getstring);
}
$filter .= " AND `except` IN ('0','1')";
} else {
if(isset($getstring)) {
$searchstring = $getstring;
if ($keysort == 'active' && $keyorder == 'asc') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY (`count` - `idle`) LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} elseif ($keysort == 'active' && $keyorder == 'desc') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY (`idle` - `count`) LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} elseif ($searchstring == '') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE 1=1$filter ORDER BY `$keysort` $keyorder LIMIT :start, :userproseite");
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} else {
$searchstring = '';
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY `$keysort` $keyorder LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
}
if($cfg['stats_show_excepted_clients_switch'] == 0) {
$filter .= " AND `except` IN ('0','1')";
}
}
if(isset($getstring) && strstr($getstring, 'filter:online:')) {
$searchstring = preg_replace('/filter\:online\:/','',$searchstring);
$filter .= " AND `online`='1'";
} elseif(isset($getstring) && strstr($getstring, 'filter:nononline:')) {
$searchstring = preg_replace('/filter\:nononline\:/','',$searchstring);
$filter .= " AND `online`='0'";
}
if(isset($getstring) && strstr($getstring, 'filter:actualgroup:')) {
preg_match('/filter\:actualgroup\:(.*)\:/',$searchstring,$grpvalue);
$searchstring = preg_replace('/filter\:actualgroup\:(.*)\:/','',$searchstring);
$filter .= " AND `grpid`='".$grpvalue[1]."'";
}
if(isset($getstring) && strstr($getstring, 'filter:country:')) {
preg_match('/filter\:country\:(.*)\:/',$searchstring,$grpvalue);
$searchstring = preg_replace('/filter\:country\:(.*)\:/','',$searchstring);
$filter .= " AND `nation`='".$grpvalue[1]."'";
}
if(isset($getstring) && strstr($getstring, 'filter:lastseen:')) {
preg_match('/filter\:lastseen\:(.*)\:(.*)\:/',$searchstring,$seenvalue);
$searchstring = preg_replace('/filter\:lastseen\:(.*)\:(.*)\:/','',$searchstring);
if(isset($seenvalue[2]) && is_numeric($seenvalue[2])) {
$lastseen = $seenvalue[2];
} elseif(isset($seenvalue[2])) {
$r = date_parse_from_format("Y-m-d H-i",$seenvalue[2]);
$lastseen = mktime($r['hour'], $r['minute'], $r['second'], $r['month'], $r['day'], $r['year']);
if($user_pro_seite > 0) {
$seiten_anzahl_gerundet = ceil($sumentries[0] / $user_pro_seite);
} else {
$lastseen = 0;
$seiten_anzahl_gerundet = 0;
}
if(isset($seenvalue[1]) && ($seenvalue[1] == '&lt;' || $seenvalue[1] == '<')) {
$operator = '<';
} elseif(isset($seenvalue[1]) && ($seenvalue[1] == '&gt;' || $seenvalue[1] == '>')) {
$operator = '>';
} elseif(isset($seenvalue[1]) && $seenvalue[1] == '!=') {
$operator = '!=';
if(($sqlhisgroup = $mysqlcon->query("SELECT * FROM `$dbname`.`groups`")->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
$sqlhis = $dbdata->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE);
if($adminlogin == 1) {
switch ($keyorder) {
case "asc":
$keyorder2 = "desc&amp;admin=true";
break;
case "desc":
$keyorder2 = "asc&amp;admin=true";
}
$keyorder .= "&amp;admin=true";
} else {
$operator = '=';
switch ($keyorder) {
case "asc":
$keyorder2 = "desc";
break;
case "desc":
$keyorder2 = "asc";
}
}
$filter .= " AND `lastseen`".$operator."'".$lastseen."'";
}
$searchstring = htmlspecialchars_decode($searchstring);
if(isset($getstring)) {
$dbdata_full = $mysqlcon->prepare("SELECT COUNT(*) FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter");
$dbdata_full->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata_full->execute();
$sumentries = $dbdata_full->fetch(PDO::FETCH_NUM);
$getstring = rawurlencode($getstring);
} else {
$getstring = '';
$sumentries = $mysqlcon->query("SELECT COUNT(*) FROM `$dbname`.`user`")->fetch(PDO::FETCH_NUM);
}
if(!isset($_GET["seite"])) {
$seite = 1;
} else {
$_GET["seite"] = preg_replace('/\D/', '', $_GET["seite"]);
if($_GET["seite"] > 0) {
$seite = $_GET["seite"];
} else {
$seite = 1;
}
}
$adminlogin = 0;
$sortarr = array_flip(array("name","uuid","cldbid","rank","lastseen","count","idle","active","grpid","grpsince","nextup"));
if(isset($_GET['sort']) && isset($sortarr[$_GET['sort']])) {
$keysort = $_GET['sort'];
} else {
$keysort = $cfg['stats_column_default_sort'];
}
if(isset($_GET['order']) && $_GET['order'] == 'desc') {
$keyorder = 'desc';
} elseif(isset($_GET['order']) && $_GET['order'] == 'asc') {
$keyorder = 'asc';
} else {
$keyorder = $cfg['stats_column_default_order'];
}
if(isset($_GET['admin'])) {
if($_SESSION[$rspathhex.'username'] == $cfg['webinterface_user'] && $_SESSION[$rspathhex.'password'] == $cfg['webinterface_pass'] && $_SESSION[$rspathhex.'clientip'] == getclientip()) {
$adminlogin = 1;
}
}
$countentries = 0;
if(!isset($_GET["user"])) {
$user_pro_seite = 25;
} elseif($_GET['user'] == "all") {
$user_pro_seite = $sumentries[0];
} else {
$_GET["user"] = preg_replace('/\D/', '', $_GET["user"]);
if($_GET["user"] > 0) {
$user_pro_seite = $_GET["user"];
} else {
$user_pro_seite = 25;
}
}
$start = ($seite * $user_pro_seite) - $user_pro_seite;
if ($keysort == 'active' && $keyorder == 'asc') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY (`count` - `idle`) LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} elseif ($keysort == 'active' && $keyorder == 'desc') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY (`idle` - `count`) LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} elseif ($searchstring == '') {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE 1=1$filter ORDER BY `$keysort` $keyorder LIMIT :start, :userproseite");
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
} else {
$dbdata = $mysqlcon->prepare("SELECT * FROM `$dbname`.`user` WHERE (`uuid` LIKE :searchvalue OR `cldbid` LIKE :searchvalue OR `name` LIKE :searchvalue)$filter ORDER BY `$keysort` $keyorder LIMIT :start, :userproseite");
$dbdata->bindValue(':searchvalue', '%'.$searchstring.'%', PDO::PARAM_STR);
$dbdata->bindValue(':start', (int) $start, PDO::PARAM_INT);
$dbdata->bindValue(':userproseite', (int) $user_pro_seite, PDO::PARAM_INT);
$dbdata->execute();
}
if($user_pro_seite > 0) {
$seiten_anzahl_gerundet = ceil($sumentries[0] / $user_pro_seite);
} else {
$seiten_anzahl_gerundet = 0;
}
if(($sqlhisgroup = $mysqlcon->query("SELECT * FROM `$dbname`.`groups`")->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
function pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring) {
?>
<nav>
<div class="text-center">
<ul class="pagination">
<li>
<a href="<?PHP echo '?sort='.$keysort.'&amp;order='.$keyorder.'&amp;seite=1&amp;user='.$user_pro_seite.'&amp;search='.$getstring; ?>" aria-label="backward">
<span aria-hidden="true"><span class="fas fa-caret-square-left" aria-hidden="true"></span>&nbsp;</span>
</a>
</li>
<?PHP
for($a=0; $a < $seiten_anzahl_gerundet; $a++) {
$b = $a + 1;
if($seite == $b) {
echo '<li class="active"><a href="">'.$b.'</a></li>';
} elseif ($b > $seite - 5 && $b < $seite + 5) {
echo '<li><a href="?sort='.$keysort.'&amp;order='.$keyorder.'&amp;seite='.$b.'&amp;user='.$user_pro_seite.'&amp;search='.$getstring.'">'.$b.'</a></li>';
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<?PHP
if($user_pro_seite == "all" || $cfg['stats_show_site_navigation_switch'] == 0) {
} else {
$pag = pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring);
echo $pag;
}
}
?>
<li>
<a href="<?PHP echo '?sort='.$keysort.'&amp;order='.$keyorder.'&amp;seite='.$seiten_anzahl_gerundet.'&amp;user='.$user_pro_seite.'&amp;search='.$getstring; ?>" aria-label="forward">
<span aria-hidden="true">&nbsp;<span class="fas fa-caret-square-right" aria-hidden="true"></span></span>
</a>
</li>
</ul>
</div>
</nav>
<?PHP
}
$sqlhis = $dbdata->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE);
if($adminlogin == 1) {
switch ($keyorder) {
case "asc":
$keyorder2 = "desc&amp;admin=true";
break;
case "desc":
$keyorder2 = "asc&amp;admin=true";
}
$keyorder .= "&amp;admin=true";
} else {
switch ($keyorder) {
case "asc":
$keyorder2 = "desc";
break;
case "desc":
$keyorder2 = "asc";
}
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<?PHP
if($user_pro_seite == "all" || $cfg['stats_show_site_navigation_switch'] == 0) {
} else {
pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring);
}
?>
<table class="table table-striped">
<thead data-spy="affix" data-offset-top="100">
<tr>
<?PHP
if ($cfg['stats_column_rank_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=rank&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listrank'] , '</span></a></th>';
if ($cfg['stats_column_client_name_switch'] == 1 || $adminlogin == 1)
echo ($keysort == 'name') ? '<th class="text-center"><a href="?sort=name&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnick'] . '</span></a></th>' : '<th class="text-center"><a href="?sort=name&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnick'] . '</span></a></th>';
if ($cfg['stats_column_unique_id_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=uuid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listuid'] , '</span></a></th>';
if ($cfg['stats_column_client_db_id_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=cldbid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listcldbid'] , '</span></a></th>';
if ($cfg['stats_column_last_seen_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=lastseen&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listseen'] , '</span></a></th>';
if ($cfg['stats_column_nation_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=nation&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnat'] , '</span></a></th>';
if ($cfg['stats_column_version_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=version&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listver'] , '</span></a></th>';
if ($cfg['stats_column_platform_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=platform&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listpla'] , '</span></a></th>';
if ($cfg['stats_column_online_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=count&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsumo'] , '</span></a></th>';
if ($cfg['stats_column_idle_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=idle&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsumi'] , '</span></a></th>';
if ($cfg['stats_column_active_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=active&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsuma'] , '</span></a></th>';
if ($cfg['stats_column_current_server_group_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=grpid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listacsg'] , '</span></a></th>';
if ($cfg['stats_column_current_group_since_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=grpsince&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listgrps'] , '</span></a></th>';
if ($cfg['stats_column_next_rankup_switch'] == 1 || $adminlogin == 1)
echo ($keysort == 'nextup') ? '<th class="text-center"><a href="?sort=nextup&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnxup'] . '</span></a></th>' : '<th class="text-center"><a href="?sort=nextup&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnxup'] . '</span></a></th>';
if (($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) && $cfg['rankup_time_assess_mode'] == 1) {
echo '<th class="text-center"><a href="?sort=active&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnxsg'] , '</span></a></th>';
} elseif (($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) && $cfg['rankup_time_assess_mode'] != 1) {
echo '<th class="text-center"><a href="?sort=count&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnxsg'] , '</span></a></th>';
}
echo '</tr></thead><tbody>';
ksort($cfg['rankup_definition']);
if (count($sqlhis) > 0) {
foreach ($sqlhis as $uuid => $value) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$activetime = $value['count'] - $value['idle'];
} else {
$activetime = $value['count'];
}
$grpcount=0;
foreach ($cfg['rankup_definition'] as $rank) {
$grpcount++;
if ($activetime < $rank['time'] || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] <= 0 && $cfg['stats_show_clients_in_highest_rank_switch'] == 1 || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $adminlogin == 1) {
echo '<tr>';
if ($cfg['stats_column_rank_switch'] == 1 || $adminlogin == 1) {
if($value['except'] == 2 || $value['except'] == 3) {
echo '<td class="text-center"></td>';
} else {
echo '<td class="text-center">' , $value['rank'] , '</td>';
?>
<table class="table table-striped">
<thead data-spy="affix" data-offset-top="100">
<tr>
<?PHP
if ($cfg['stats_column_rank_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=rank&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listrank'] , '</span></a></th>';
if ($cfg['stats_column_client_name_switch'] == 1 || $adminlogin == 1)
echo ($keysort == 'name') ? '<th class="text-center"><a href="?sort=name&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnick'] . '</span></a></th>' : '<th class="text-center"><a href="?sort=name&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnick'] . '</span></a></th>';
if ($cfg['stats_column_unique_id_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=uuid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listuid'] , '</span></a></th>';
if ($cfg['stats_column_client_db_id_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=cldbid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listcldbid'] , '</span></a></th>';
if ($cfg['stats_column_last_seen_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=lastseen&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listseen'] , '</span></a></th>';
if ($cfg['stats_column_nation_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=nation&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnat'] , '</span></a></th>';
if ($cfg['stats_column_version_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=version&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listver'] , '</span></a></th>';
if ($cfg['stats_column_platform_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=platform&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listpla'] , '</span></a></th>';
if ($cfg['stats_column_online_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=count&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsumo'] , '</span></a></th>';
if ($cfg['stats_column_idle_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=idle&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsumi'] , '</span></a></th>';
if ($cfg['stats_column_active_time_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=active&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listsuma'] , '</span></a></th>';
if ($cfg['stats_column_current_server_group_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=grpid&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listacsg'] , '</span></a></th>';
if ($cfg['stats_column_current_group_since_switch'] == 1 || $adminlogin == 1)
echo '<th class="text-center"><a href="?sort=grpsince&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listgrps'] , '</span></a></th>';
if ($cfg['stats_column_next_rankup_switch'] == 1 || $adminlogin == 1)
echo ($keysort == 'nextup') ? '<th class="text-center"><a href="?sort=nextup&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnxup'] . '</span></a></th>' : '<th class="text-center"><a href="?sort=nextup&amp;order=' . $keyorder2 . '&amp;seite=' . $seite . '&amp;user=' . $user_pro_seite . '&amp;search=' . $getstring . '"><span class="hdcolor">' . $lang['listnxup'] . '</span></a></th>';
if (($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) && $cfg['rankup_time_assess_mode'] == 1) {
echo '<th class="text-center"><a href="?sort=active&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnxsg'] , '</span></a></th>';
} elseif (($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) && $cfg['rankup_time_assess_mode'] != 1) {
echo '<th class="text-center"><a href="?sort=count&amp;order=' , $keyorder2 , '&amp;seite=' , $seite , '&amp;user=' , $user_pro_seite , '&amp;search=' , $getstring , '"><span class="hdcolor">' , $lang['listnxsg'] , '</span></a></th>';
}
echo '</tr></thead><tbody>';
ksort($cfg['rankup_definition']);
if (count($sqlhis) > 0) {
foreach ($sqlhis as $uuid => $value) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$activetime = $value['count'] - $value['idle'];
} else {
$activetime = $value['count'];
}
$grpcount=0;
foreach ($cfg['rankup_definition'] as $rank) {
$grpcount++;
if ($activetime < $rank['time'] || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] <= 0 && $cfg['stats_show_clients_in_highest_rank_switch'] == 1 || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $adminlogin == 1) {
echo '<tr>';
if ($cfg['stats_column_rank_switch'] == 1 || $adminlogin == 1) {
if($value['except'] == 2 || $value['except'] == 3) {
echo '<td class="text-center"></td>';
} else {
echo '<td class="text-center">' , $value['rank'] , '</td>';
}
}
}
if ($adminlogin == 1) {
echo '<td class="text-center"><a href="//tsviewer.com/index.php?page=search&action=ausgabe_user&nickname=' , htmlspecialchars($value['name']) , '" target="_blank">' , htmlspecialchars($value['name']) , '</a></td>';
} elseif ($cfg['stats_column_client_name_switch'] == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['name']) , '</td>';
}
if ($adminlogin == 1) {
echo '<td class="text-center"><a href="//ts3index.com/?page=searchclient&uid=' , $uuid , '" target="_blank">' , $uuid , '</a></td>';
} elseif ($cfg['stats_column_unique_id_switch'] == 1) {
echo '<td class="text-center">' , $uuid , '</td>';
}
if ($cfg['stats_column_client_db_id_switch'] == 1 || $adminlogin == 1)
echo '<td class="text-center">' , $value['cldbid'] , '</td>';
if ($cfg['stats_column_last_seen_switch'] == 1 || $adminlogin == 1) {
if ($value['online'] == 1) {
echo '<td class="text-center text-success">online</td>';
} else {
echo '<td class="text-center">' , date('Y-m-d H:i:s',$value['lastseen']), '</td>';
if ($adminlogin == 1) {
echo '<td class="text-center"><a href="//tsviewer.com/index.php?page=search&action=ausgabe_user&nickname=' , htmlspecialchars($value['name']) , '" target="_blank">' , htmlspecialchars($value['name']) , '</a></td>';
} elseif ($cfg['stats_column_client_name_switch'] == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['name']) , '</td>';
}
}
if ($cfg['stats_column_nation_switch'] == 1 || $adminlogin == 1) {
if(strtoupper($value['nation']) == 'XX') {
echo '<td class="text-center"><i class="fas fa-question-circle" title="' , $lang['unknown'] , '"></i></td>';
} else {
echo '<td class="text-center"><span class="flag-icon flag-icon-' , strtolower(htmlspecialchars($value['nation'])) , '" title="' , $nation[$value['nation']] , '"></span></td>';
if ($adminlogin == 1) {
echo '<td class="text-center"><a href="//ts3index.com/?page=searchclient&uid=' , $uuid , '" target="_blank">' , $uuid , '</a></td>';
} elseif ($cfg['stats_column_unique_id_switch'] == 1) {
echo '<td class="text-center">' , $uuid , '</td>';
}
}
if ($cfg['stats_column_version_switch'] == 1 || $adminlogin == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['version']) , '</td>';
}
if ($cfg['stats_column_platform_switch'] == 1 || $adminlogin == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['platform']) , '</td>';
}
if ($cfg['stats_column_online_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',round($value['count']),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".round($value['count']));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
if ($cfg['stats_column_idle_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',round($value['idle']),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".round($value['idle']));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
if ($cfg['stats_column_active_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',(round($value['count'])-round($value['idle'])),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".(round($value['count'])-round($value['idle'])));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
if ($cfg['stats_column_current_server_group_switch'] == 1 || $adminlogin == 1) {
if ($value['grpid'] == 0) {
echo '<td class="text-center"></td>';
} elseif(isset($sqlhisgroup[$value['grpid']]) && $sqlhisgroup[$value['grpid']]['iconid'] != 0) {
echo '<td class="text-center"><img src="../tsicons/',$sqlhisgroup[$value['grpid']]['iconid'],'.',$sqlhisgroup[$value['grpid']]['ext'],'" width="16" height="16" alt="groupicon">&nbsp;&nbsp;' , $sqlhisgroup[$value['grpid']]['sgidname'] , '</td>';
} elseif(isset($sqlhisgroup[$value['grpid']])) {
echo '<td class="text-center">' , $sqlhisgroup[$value['grpid']]['sgidname'] , '</td>';
} else {
echo '<td class="text-center"><i>',$lang['unknown'],'</i></td>';
if ($cfg['stats_column_client_db_id_switch'] == 1 || $adminlogin == 1)
echo '<td class="text-center">' , $value['cldbid'] , '</td>';
if ($cfg['stats_column_last_seen_switch'] == 1 || $adminlogin == 1) {
if ($value['online'] == 1) {
echo '<td class="text-center text-success">online</td>';
} else {
echo '<td class="text-center">' , date('Y-m-d H:i:s',$value['lastseen']), '</td>';
}
}
}
if ($cfg['stats_column_current_group_since_switch'] == 1 || $adminlogin == 1) {
if ($value['grpsince'] == 0) {
echo '<td class="text-center"></td>';
} else {
echo '<td class="text-center">' , date('Y-m-d H:i:s',$value['grpsince']), '</td>';
if ($cfg['stats_column_nation_switch'] == 1 || $adminlogin == 1) {
if(strtoupper($value['nation']) == 'XX' || $value['nation'] == NULL) {
echo '<td class="text-center"><i class="fas fa-question-circle" title="' , $lang['unknown'] , '"></i></td>';
} else {
echo '<td class="text-center"><span class="flag-icon flag-icon-' , strtolower(htmlspecialchars($value['nation'])) , '" title="' , $nation[$value['nation']] , '"></span></td>';
}
}
}
if ($cfg['stats_column_next_rankup_switch'] == 1 || $adminlogin == 1) {
echo '<td title="';
if (($value['except'] == 0 || $value['except'] == 1) && $value['nextup'] > 0) {
if ($cfg['stats_column_version_switch'] == 1 || $adminlogin == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['version']) , '</td>';
}
if ($cfg['stats_column_platform_switch'] == 1 || $adminlogin == 1) {
echo '<td class="text-center">' , htmlspecialchars($value['platform']) , '</td>';
}
if ($cfg['stats_column_online_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',round($value['count']),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".$value['nextup']);
echo round($value['nextup']),' sec." class="text-center">',$dtF->diff($dtT)->format($cfg['default_date_format']) , '</td>';
} elseif ($value['except'] == 0 || $value['except'] == 1) {
echo '0 sec." class="text-center">0</td>';
} elseif ($value['except'] == 2 || $value['except'] == 3) {
echo '0 sec." class="text-center">0</td>';
} else {
echo $lang['errukwn'], '</td>';
$dtT = new DateTime("@".round($value['count']));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
}
if ($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) {
if ($grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $cfg['stats_show_clients_in_highest_rank_switch'] == 1 || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $adminlogin == 1) {
echo '<td class="text-center"><em>',$lang['highest'],'</em></td>';
} elseif ($value['except'] == 2 || $value['except'] == 3) {
echo '<td class="text-center"><em>',$lang['listexcept'],'</em></td>';
} elseif (isset($sqlhisgroup[$rank['group']]) && $sqlhisgroup[$rank['group']]['iconid'] != 0) {
echo '<td class="text-center"><img src="../tsicons/',$sqlhisgroup[$rank['group']]['iconid'],'.',$sqlhisgroup[$rank['group']]['ext'],'" width="16" height="16" alt="missed_icon">&nbsp;&nbsp;' , $sqlhisgroup[$rank['group']]['sgidname'] , '</td>';
} elseif (isset($sqlhisgroup[$rank['group']])) {
echo '<td class="text-center">' , $sqlhisgroup[$rank['group']]['sgidname'] , '</td>';
} else {
echo '<td class="text-center"></td>';
if ($cfg['stats_column_idle_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',round($value['idle']),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".round($value['idle']));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
if ($cfg['stats_column_active_time_switch'] == 1 || $adminlogin == 1) {
echo '<td title="',(round($value['count'])-round($value['idle'])),' sec." class="text-center">';
$dtF = new DateTime("@0");
$dtT = new DateTime("@".(round($value['count'])-round($value['idle'])));
echo $dtF->diff($dtT)->format($cfg['default_date_format']);
}
if ($cfg['stats_column_current_server_group_switch'] == 1 || $adminlogin == 1) {
if ($value['grpid'] == 0) {
echo '<td class="text-center"></td>';
} elseif(isset($sqlhisgroup[$value['grpid']]) && $sqlhisgroup[$value['grpid']]['iconid'] != 0) {
echo '<td class="text-center"><img src="../tsicons/',$sqlhisgroup[$value['grpid']]['iconid'],'.',$sqlhisgroup[$value['grpid']]['ext'],'" width="16" height="16" alt="groupicon">&nbsp;&nbsp;' , $sqlhisgroup[$value['grpid']]['sgidname'] , '</td>';
} elseif(isset($sqlhisgroup[$value['grpid']])) {
echo '<td class="text-center">' , $sqlhisgroup[$value['grpid']]['sgidname'] , '</td>';
} else {
echo '<td class="text-center"><i>',$lang['unknown'],'</i></td>';
}
}
if ($cfg['stats_column_current_group_since_switch'] == 1 || $adminlogin == 1) {
if ($value['grpsince'] == 0) {
echo '<td class="text-center"></td>';
} else {
echo '<td class="text-center">' , date('Y-m-d H:i:s',$value['grpsince']), '</td>';
}
}
if ($cfg['stats_column_next_rankup_switch'] == 1 || $adminlogin == 1) {
echo '<td title="';
if (($value['except'] == 0 || $value['except'] == 1) && $value['nextup'] > 0) {
$dtF = new DateTime("@0");
$dtT = new DateTime("@".$value['nextup']);
echo round($value['nextup']),' sec." class="text-center">',$dtF->diff($dtT)->format($cfg['default_date_format']) , '</td>';
} elseif ($value['except'] == 0 || $value['except'] == 1) {
echo '0 sec." class="text-center">0</td>';
} elseif ($value['except'] == 2 || $value['except'] == 3) {
echo '0 sec." class="text-center">0</td>';
} else {
echo $lang['errukwn'], '</td>';
}
}
if ($cfg['stats_column_next_server_group_switch'] == 1 || $adminlogin == 1) {
if ($grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $cfg['stats_show_clients_in_highest_rank_switch'] == 1 || $grpcount == count($cfg['rankup_definition']) && $value['nextup'] == 0 && $adminlogin == 1) {
echo '<td class="text-center"><em>',$lang['highest'],'</em></td>';
} elseif ($value['except'] == 2 || $value['except'] == 3) {
echo '<td class="text-center"><em>',$lang['listexcept'],'</em></td>';
} elseif (isset($sqlhisgroup[$rank['group']]) && $sqlhisgroup[$rank['group']]['iconid'] != 0) {
echo '<td class="text-center"><img src="../tsicons/',$sqlhisgroup[$rank['group']]['iconid'],'.',$sqlhisgroup[$rank['group']]['ext'],'" width="16" height="16" alt="missed_icon">&nbsp;&nbsp;' , $sqlhisgroup[$rank['group']]['sgidname'] , '</td>';
} elseif (isset($sqlhisgroup[$rank['group']])) {
echo '<td class="text-center">' , $sqlhisgroup[$rank['group']]['sgidname'] , '</td>';
} else {
echo '<td class="text-center"></td>';
}
}
echo '</tr>';
break;
}
echo '</tr>';
break;
}
}
} else {
echo '<tr><td colspan="6">' , $lang['noentry'] , '</td></tr>';
}
} else {
echo '<tr><td colspan="6">' , $lang['noentry'] , '</td></tr>';
}
echo '</tbody></table>';
if($user_pro_seite != "all") {
pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring);
}
?>
echo '</tbody></table>';
if($user_pro_seite != "all") {
$pag = pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring);
echo $pag;
}
?>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,359 +1,359 @@
<?PHP
require_once('_preload.php');
if(count($_SESSION[$rspathhex.'multiple']) > 1 && !isset($_SESSION[$rspathhex.'uuid_verified'])) {
$err_msg = sprintf($lang['stag0006'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} elseif ($_SESSION[$rspathhex.'connected'] == 0) {
$err_msg = sprintf($lang['stag0015'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} else {
$dbdata_fetched = $mysqlcon->query("SELECT * FROM `$dbname`.`user` WHERE `uuid` LIKE '%".$_SESSION[$rspathhex.'tsuid']."%'")->fetch();
$count_hours = round($dbdata_fetched['count']/3600);
$idle_hours = round($dbdata_fetched['idle']/3600);
$dbdata_fetched['count'] = round($dbdata_fetched['count']);
$dbdata_fetched['idle'] = round($dbdata_fetched['idle']);
if ($cfg['rankup_time_assess_mode'] == 1) {
$activetime = $dbdata_fetched['count'] - $dbdata_fetched['idle'];
try {
if(isset($_SESSION[$rspathhex.'multiple']) && count($_SESSION[$rspathhex.'multiple']) > 1 && !isset($_SESSION[$rspathhex.'uuid_verified'])) {
$err_msg = sprintf($lang['stag0006'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} elseif (isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
$err_msg = sprintf($lang['stag0015'], '<a href="verify.php">', '</a>'); $err_lvl = 3;
} else {
$activetime = $dbdata_fetched['count'];
}
$active_count = $dbdata_fetched['count'] - $dbdata_fetched['idle'];
$dbdata_fetched = $mysqlcon->query("SELECT * FROM `$dbname`.`user` WHERE `uuid` LIKE '%".$_SESSION[$rspathhex.'tsuid']."%'")->fetch();
$count_hours = round($dbdata_fetched['count']/3600);
$idle_hours = round($dbdata_fetched['idle']/3600);
$dbdata_fetched['count'] = round($dbdata_fetched['count']);
$dbdata_fetched['idle'] = round($dbdata_fetched['idle']);
krsort($cfg['rankup_definition']);
$nextgrp = '';
foreach ($cfg['rankup_definition'] as $rank) {
$actualgrp = $rank['time'];
if ($activetime > $rank['time']) {
break;
if ($cfg['rankup_time_assess_mode'] == 1) {
$activetime = $dbdata_fetched['count'] - $dbdata_fetched['idle'];
} else {
$nextgrp = $rank['time'];
$activetime = $dbdata_fetched['count'];
}
$active_count = $dbdata_fetched['count'] - $dbdata_fetched['idle'];
krsort($cfg['rankup_definition']);
$nextgrp = '';
foreach ($cfg['rankup_definition'] as $rank) {
$actualgrp = $rank['time'];
if ($activetime > $rank['time']) {
break;
} else {
$nextgrp = $rank['time'];
}
}
if($actualgrp==$nextgrp) {
$actualgrp = 0;
}
if($activetime>$nextgrp) {
$percentage_rankup = 100;
} else {
$takedtime = $activetime - $actualgrp;
$neededtime = $nextgrp - $actualgrp;
$percentage_rankup = round($takedtime/$neededtime*100, 2);
}
$stats_user = $mysqlcon->query("SELECT `count_week`,`active_week`,`count_month`,`active_month`,`last_calculated` FROM `$dbname`.`stats_user` WHERE `uuid`='".$_SESSION[$rspathhex.'tsuid']."'")->fetch();
if (isset($stats_user['count_week'])) $count_week = $stats_user['count_week']; else $count_week = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$count_week"); $count_week = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['active_week'])) $active_week = $stats_user['active_week']; else $active_week = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_week"); $active_week = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['count_month'])) $count_month = $stats_user['count_month']; else $count_month = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$count_month"); $count_month = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['active_month'])) $active_month = $stats_user['active_month']; else $active_month = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_month"); $active_month = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($dbdata_fetched['count'])) $count_total = $dbdata_fetched['count']; else $count_total = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@".round($count_total)); $count_total = $dtF->diff($dtT)->format($cfg['default_date_format']);
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_count"); $active_count = $dtF->diff($dtT)->format($cfg['default_date_format']);
$achievements_done = 0;
if($count_hours >= $cfg['stats_time_legend']) {
$achievements_done = $achievements_done + 4;
} elseif($count_hours >= $cfg['stats_time_gold']) {
$achievements_done = $achievements_done + 3;
} elseif($count_hours >= $cfg['stats_time_silver']) {
$achievements_done = $achievements_done + 2;
} else {
$achievements_done = $achievements_done + 1;
}
if($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_legend']) {
$achievements_done = $achievements_done + 4;
} elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_gold']) {
$achievements_done = $achievements_done + 3;
} elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_silver']) {
$achievements_done = $achievements_done + 2;
} else {
$achievements_done = $achievements_done + 1;
}
}
if($actualgrp==$nextgrp) {
$actualgrp = 0;
}
if($activetime>$nextgrp) {
$percentage_rankup = 100;
} else {
$takedtime = $activetime - $actualgrp;
$neededtime = $nextgrp - $actualgrp;
$percentage_rankup = round($takedtime/$neededtime*100, 2);
}
$stats_user = $mysqlcon->query("SELECT `count_week`,`active_week`,`count_month`,`active_month`,`last_calculated` FROM `$dbname`.`stats_user` WHERE `uuid`='".$_SESSION[$rspathhex.'tsuid']."'")->fetch();
if (isset($stats_user['count_week'])) $count_week = $stats_user['count_week']; else $count_week = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$count_week"); $count_week = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['active_week'])) $active_week = $stats_user['active_week']; else $active_week = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_week"); $active_week = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['count_month'])) $count_month = $stats_user['count_month']; else $count_month = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$count_month"); $count_month = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($stats_user['active_month'])) $active_month = $stats_user['active_month']; else $active_month = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_month"); $active_month = $dtF->diff($dtT)->format($cfg['default_date_format']);
if (isset($dbdata_fetched['count'])) $count_total = $dbdata_fetched['count']; else $count_total = 0;
$dtF = new DateTime("@0"); $dtT = new DateTime("@".round($count_total)); $count_total = $dtF->diff($dtT)->format($cfg['default_date_format']);
$dtF = new DateTime("@0"); $dtT = new DateTime("@$active_count"); $active_count = $dtF->diff($dtT)->format($cfg['default_date_format']);
$achievements_done = 0;
if($count_hours >= $cfg['stats_time_legend']) {
$achievements_done = $achievements_done + 4;
} elseif($count_hours >= $cfg['stats_time_gold']) {
$achievements_done = $achievements_done + 3;
} elseif($count_hours >= $cfg['stats_time_silver']) {
$achievements_done = $achievements_done + 2;
} else {
$achievements_done = $achievements_done + 1;
}
if($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_legend']) {
$achievements_done = $achievements_done + 4;
} elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_gold']) {
$achievements_done = $achievements_done + 3;
} elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_silver']) {
$achievements_done = $achievements_done + 2;
} else {
$achievements_done = $achievements_done + 1;
}
}
function get_percentage($max_value, $value) {
return (round(($value/$max_value)*100));
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl);
if(count($_SESSION[$rspathhex.'multiple']) > 1 || $_SESSION[$rspathhex.'connected'] == 0) { echo "</div></div></body></html>"; exit; } ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stmy0001']; ?>
<a href="#infoModal" data-toggle="modal" class="btn btn-primary">
<span class="fas fa-info-circle" aria-hidden="true"></span>
</a>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-9 text-left">
<div class="huge"><?PHP echo $_SESSION[$rspathhex.'tsname'] ?></div>
<div><?PHP if ($dbdata_fetched['except'] == 0 || $dbdata_fetched['except'] == 1) {
echo $lang['stmy0002'],' #',$dbdata_fetched['rank'];
} ?></div>
</div>
<div class="col-xs-3">
<?PHP
if(isset($_SESSION[$rspathhex.'tsavatar']) && $_SESSION[$rspathhex.'tsavatar'] != "none") {
echo '<img src="../avatars/'.$_SESSION[$rspathhex.'tsavatar'].'" class="img-rounded pull-right" alt="avatar" height="70">';
} else {
echo '<span class="fa fa-user fa-5x"></span>';
}
?>
</div>
</div>
</div>
<div class="panel-footer">
<div class="pull-left">
<p><strong><?PHP echo $lang['stmy0003']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0004']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0005']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0006']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0007']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0031']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0010']; ?></strong></p>
</div>
<div class="pull-right">
<p class="text-right"><?PHP echo $dbdata_fetched['cldbid']; ?></p>
<p class="text-right"><?PHP echo $dbdata_fetched['uuid']; ?></p>
<p class="text-right"><?PHP echo $_SESSION[$rspathhex.'tsconnections']; ?></p>
<p class="text-right"><?PHP echo $_SESSION[$rspathhex.'tscreated']; ?></p>
<p class="text-right" title=<?PHP echo '"',$dbdata_fetched['count'],' sec.">',$count_total; ?></p>
<p class="text-right" title=<?PHP echo '"',($dbdata_fetched['count'] - $dbdata_fetched['idle']),' sec.">',$active_count; ?></p>
<p class="text-right"><?PHP echo $achievements_done .' / 8'; ?></p>
</div>
<div class="clearfix"></div>
</div>
<div class="panel-footer">
<div class="pull-left">
<p><strong><?PHP echo $lang['stmy0032']; ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0008'], '7'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0009'], '7'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0008'], '30'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0009'], '30'); ?></strong></p>
</div>
<div class="pull-right">
<p class="text-right"><?PHP echo date('Y-m-d H:i:s',$stats_user['last_calculated']); ?></p>
<p class="text-right"><?PHP echo $count_week; ?></p>
<p class="text-right"><?PHP echo $active_week; ?></p>
<p class="text-right"><?PHP echo $count_month; ?></p>
<p class="text-right"><?PHP echo $active_month; ?></p>
</div>
<div class="clearfix"></div>
</div>
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl);
if(isset($_SESSION[$rspathhex.'multiple']) && count($_SESSION[$rspathhex.'multiple']) > 1 || isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) { echo "</div></div></body></html>"; exit; } ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stmy0001']; ?>
<a href="#infoModal" data-toggle="modal" class="btn btn-primary">
<span class="fas fa-info-circle" aria-hidden="true"></span>
</a>
</h1>
</div>
</div>
<?PHP if($dbdata_fetched['except'] == 0 || $dbdata_fetched['except'] == 1) { ?>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0030']; ?></h3>
<div class="progress">
<div class="progress-bar progress-bar-primary progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo $percentage_rankup; ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: <?PHP echo $percentage_rankup; ?>%;">
<?PHP echo $percentage_rankup," %"; ?>
</div>
</div>
</div>
<?PHP } ?>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0011']; ?></h3>
<?PHP if($count_hours >= $cfg['stats_time_legend']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0012']; ?></small>
<div class="row">
<div class="col-lg-6 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-9 text-left">
<div class="huge"><?PHP echo $_SESSION[$rspathhex.'tsname'] ?></div>
<div><?PHP if ($dbdata_fetched['except'] == 0 || $dbdata_fetched['except'] == 1) {
echo $lang['stmy0002'],' #',$dbdata_fetched['rank'];
} ?></div>
</div>
<div class="col-xs-3">
<?PHP
if(isset($_SESSION[$rspathhex.'tsavatar']) && $_SESSION[$rspathhex.'tsavatar'] != "none") {
echo '<img src="../avatars/'.$_SESSION[$rspathhex.'tsavatar'].'" class="img-rounded pull-right" alt="avatar" height="70">';
} else {
echo '<span class="fa fa-user fa-5x"></span>';
}
?>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
</div>
<div class="panel-footer">
<div class="pull-left">
<p><strong><?PHP echo $lang['stmy0003']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0004']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0005']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0006']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0007']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0031']; ?></strong></p>
<p><strong><?PHP echo $lang['stmy0010']; ?></strong></p>
</div>
<div class="pull-right">
<p class="text-right"><?PHP echo $dbdata_fetched['cldbid']; ?></p>
<p class="text-right"><?PHP echo $dbdata_fetched['uuid']; ?></p>
<p class="text-right"><?PHP echo $_SESSION[$rspathhex.'tsconnections']; ?></p>
<p class="text-right"><?PHP echo $_SESSION[$rspathhex.'tscreated']; ?></p>
<p class="text-right" title=<?PHP echo '"',$dbdata_fetched['count'],' sec.">',$count_total; ?></p>
<p class="text-right" title=<?PHP echo '"',($dbdata_fetched['count'] - $dbdata_fetched['idle']),' sec.">',$active_count; ?></p>
<p class="text-right"><?PHP echo $achievements_done .' / 8'; ?></p>
</div>
<div class="clearfix"></div>
</div>
<div class="panel-footer">
<div class="pull-left">
<p><strong><?PHP echo $lang['stmy0032']; ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0008'], '7'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0009'], '7'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0008'], '30'); ?></strong></p>
<p><strong><?PHP echo sprintf($lang['stmy0009'], '30'); ?></strong></p>
</div>
<div class="pull-right">
<p class="text-right"><?PHP echo date('Y-m-d H:i:s',$stats_user['last_calculated']); ?></p>
<p class="text-right"><?PHP echo $count_week; ?></p>
<p class="text-right"><?PHP echo $active_week; ?></p>
<p class="text-right"><?PHP echo $count_month; ?></p>
<p class="text-right"><?PHP echo $active_month; ?></p>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%;">
<?PHP echo $lang['stmy0014']; ?>
</div>
</div>
<?PHP } elseif($count_hours >= $cfg['stats_time_gold']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0015']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours);; ?></div>
</div>
<?PHP if($dbdata_fetched['except'] == 0 || $dbdata_fetched['except'] == 1) { ?>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0030']; ?></h3>
<div class="progress">
<div class="progress-bar progress-bar-primary progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo $percentage_rankup; ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: <?PHP echo $percentage_rankup; ?>%;">
<?PHP echo $percentage_rankup," %"; ?>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours), $lang['stmy0016']; ?>
</div>
</div>
<?PHP } elseif($count_hours >= $cfg['stats_time_silver']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0017']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours), $lang['stmy0018']; ?>
</div>
</div>
<?PHP } elseif($count_hours >= $cfg['stats_time_bronze']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0019']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours), $lang['stmy0020']; ?>
</div>
</div>
<?PHP } else { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0021']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours), $lang['stmy0022']; ?>
</div>
</div>
<?PHP } ?>
</div>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0023']; ?></h3>
<?PHP if($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_legend']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0024']; ?></small>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0011']; ?></h3>
<?PHP if($count_hours >= $cfg['stats_time_legend']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0012']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%;">
<?PHP echo $lang['stmy0014']; ?>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%;">
<?PHP echo $lang['stmy0014']; ?>
</div>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_gold']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0026']; ?></small>
<?PHP } elseif($count_hours >= $cfg['stats_time_gold']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0015']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours);; ?></div>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0016']; ?>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_legend'], $count_hours), $lang['stmy0016']; ?>
</div>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_silver']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0027']; ?></small>
<?PHP } elseif($count_hours >= $cfg['stats_time_silver']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0017']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0018']; ?>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_gold'], $count_hours), $lang['stmy0018']; ?>
</div>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_bronze']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0028']; ?></small>
<?PHP } elseif($count_hours >= $cfg['stats_time_bronze']) { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0019']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0020']; ?>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_silver'], $count_hours), $lang['stmy0020']; ?>
</div>
</div>
</div>
<?PHP } else { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0029']; ?></small>
<?PHP } else { ?>
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge">
<small><?PHP echo $lang['stmy0021']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0013'], $count_hours); ?></div>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_bronze'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_bronze'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0022']; ?>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width: <?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours); ?>%;">
<?PHP echo get_percentage($cfg['stats_time_bronze'], $count_hours), $lang['stmy0022']; ?>
</div>
</div>
<?PHP } ?>
</div>
<div class="col-lg-6">
<h3><?PHP echo $lang['stmy0023']; ?></h3>
<?PHP if($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_legend']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0024']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%;">
<?PHP echo $lang['stmy0014']; ?>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_gold']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0026']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_legend'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0016']; ?>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_silver']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0027']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_gold'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0018']; ?>
</div>
</div>
<?PHP } elseif($_SESSION[$rspathhex.'tsconnections'] >= $cfg['stats_connects_bronze']) { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0028']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']); ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_silver'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0020']; ?>
</div>
</div>
<?PHP } else { ?>
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 text-right">
<div class="huge"><small><?PHP echo $lang['stmy0029']; ?></small>
</div>
<div><?PHP echo sprintf($lang['stmy0025'], $_SESSION[$rspathhex.'tsconnections']); ?></div>
</div>
</div>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 15em; width:<?PHP echo get_percentage($cfg['stats_connects_bronze'], $_SESSION[$rspathhex.'tsconnections']); ?>%;">
<?PHP echo get_percentage($cfg['stats_connects_bronze'], $_SESSION[$rspathhex.'tsconnections']),$lang['stmy0022']; ?>
</div>
</div>
<?PHP } ?>
</div>
<?PHP } ?>
</div>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,73 +1,78 @@
<?PHP
require_once('_preload.php');
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
try {
if(is_dir(substr(__DIR__,0,-5).'languages/')) {
foreach(scandir(substr(__DIR__,0,-5).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'nations' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[2]) && strtolower($sep_lang[2]) == 'php') {
if(strtolower($cfg['default_language']) == strtolower($sep_lang[1])) {
require_once('../languages/nations_'.$sep_lang[1].'.php');
$required_nations = 1;
break;
}
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
}
}
if(!isset($required_nations)) {
require_once('../languages/nations_en.php');
}
}
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_nations` ORDER BY `count` DESC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0001'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0003']; ?></th>
<th><?PHP echo $lang['stna0001']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $country => $value) {
$count++;
echo '
<tr>
<td>',$count,'</td>
<td><span class="flag-icon flag-icon-',strtolower($country),'"></span>&nbsp;&nbsp;',$country,'</td>
<td><a href="list_rankup.php?sort=rank&order=desc&search=filter:country:',$country,':">',$nation[$country],'</td>
<td>',$value['count'],'</td>
<td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td>
</tr>';
}
?>
</tbody>
</table>
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_nations` ORDER BY `count` DESC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0001'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0003']; ?></th>
<th><?PHP echo $lang['stna0001']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $country => $value) {
$count++;
echo '<tr><td>',$count,'</td><td><span class="';
if(strtoupper($country) == 'XX' || $country == NULL) {
echo 'fas fa-question-circle';
} else {
echo 'flag-icon flag-icon-',strtolower($country);
}
echo '"></span>&nbsp;&nbsp;',$country,'</td><td><a href="list_rankup.php?sort=rank&order=desc&search=filter:country:',$country,':">';
if(isset($nation[$country])) echo $nation[$country];
echo '</td><td>',$value['count'],'</td><td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td></tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,54 +1,58 @@
<?PHP
require_once('_preload.php');
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_platforms` ORDER BY `count` DESC")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0006'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0006']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $platform => $value) {
$count++;
echo '
<tr>
<td>',$count,'</td>
<td>',$platform,'</td>
<td>',$value['count'],'</td>
<td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td>
</tr>';
}
?>
</tbody>
</table>
try {
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_platforms` ORDER BY `count` DESC")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0006'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0006']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $platform => $value) {
$count++;
echo '
<tr>
<td>',$count,'</td>
<td>',$platform,'</td>
<td>',$value['count'],'</td>
<td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,32 +1,37 @@
<?PHP
require_once('_preload.php');
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['privacy']; ?>
</h1>
</div>
</div>
<?PHP if ($cfg['stats_imprint_switch'] == 1) { ?>
try {
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<?PHP echo $cfg['stats_imprint_privacypolicy']; ?>
<h1 class="page-header">
<?PHP echo $lang['privacy']; ?>
</h1>
</div>
</div>
<?PHP } else { ?>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger"><?PHP echo $lang['module_disabled']; ?></span></strong></h5>
<?PHP if ($cfg['stats_imprint_switch'] == 1) { ?>
<div class="row">
<div class="col-lg-12">
<?PHP echo $cfg['stats_imprint_privacypolicy']; ?>
</div>
</div>
</div>
<?PHP } ?>
<?PHP } else { ?>
<div class="row">
<div class="col-lg-12">
<h5><strong><span class="text-danger"><?PHP echo $lang['module_disabled']; ?></span></strong></h5>
</div>
</div>
<?PHP } ?>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,349 +1,347 @@
<?PHP
require_once('_preload.php');
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$notinuuid = "'0'";
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('%,".$group."') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('".$group.",%')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = '0';
}
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`count` - `idle`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`count`";
$texttime = $lang['sttw0003'];
}
$db_arr = $mysqlcon->query("SELECT `u`.`uuid`,`u`.`name`,`u`.`count`,`u`.`idle`,`u`.`cldgroup`,`u`.`online` FROM (SELECT `uuid`,`removed` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count'] - $client['idle'];
try {
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$hours = $client['count'];
$notinuuid = "'0'";
}
$top10_sum = round(($client['count']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count10 = $count10; $count10 <= 10; $count10++) {
$client_data[$count10] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group."')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = '0';
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`count` - `idle`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`count`";
$texttime = $lang['sttw0003'];
}
function get_percentage($max_value, $value) {
return (round(($value/$max_value)*100));
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['stta0001']; ?></small>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
$db_arr = $mysqlcon->query("SELECT `u`.`uuid`,`u`.`name`,`u`.`count`,`u`.`idle`,`u`.`cldgroup`,`u`.`online` FROM (SELECT `uuid`,`removed` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count'] - $client['idle'];
} else {
$hours = $client['count'];
}
$top10_sum = round(($client['count']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count10 = $count10; $count10 <= 10; $count10++) {
$client_data[$count10] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['stta0001']; ?></small>
</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel panel-red">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
</div>
</div>
</div>
</div>
@@ -351,38 +349,40 @@ function get_percentage($max_value, $value) {
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,392 +1,392 @@
<?PHP
require_once('_preload.php');
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$notinuuid = "'0'";
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('%,".$group."') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('".$group.",%')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = '0';
}
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`s`.`count_month` - `s`.`idle_month`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`s`.`count_month`";
$texttime = $lang['sttw0003'];
}
$db_arr = $mysqlcon->query("SELECT `s`.`uuid`,`s`.`count_month`,`s`.`idle_month`,`u`.`name`,`u`.`online`,`u`.`cldgroup` FROM (SELECT `uuid`,`removed`,`count_month`,`idle_month` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count_ids = $mysqlcon->query("SELECT COUNT(DISTINCT(`id`)) AS `count` from `$dbname`.`user_snapshot`")->fetch();
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count_month'] - $client['idle_month'];
try {
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$hours = $client['count_month'];
$notinuuid = "'0'";
}
$top10_sum = round(($client['count_month']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle_month']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count10 = $count10; $count10 <= 10; $count10++) {
$client_data[$count10] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group."')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = '0';
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`s`.`count_month` - `s`.`idle_month`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`s`.`count_month`";
$texttime = $lang['sttw0003'];
}
function get_percentage($max_value, $value) {
return (round(($value/$max_value)*100));
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['sttm0001']; ?></small>
</h1>
</div>
</div>
<?PHP if($count_ids['count'] < 121) { echo $lang['stix0048'],' (',$count_ids['count'],'/121)'; } else { ?>
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
$db_arr = $mysqlcon->query("SELECT `s`.`uuid`,`s`.`count_month`,`s`.`idle_month`,`u`.`name`,`u`.`online`,`u`.`cldgroup` FROM (SELECT `uuid`,`removed`,`count_month`,`idle_month` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup AND `s`.`idle_month`<`s`.`count_month` ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count_ids = $mysqlcon->query("SELECT COUNT(DISTINCT(`id`)) AS `count` from `$dbname`.`user_snapshot`")->fetch();
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count_month'] - $client['idle_month'];
} else {
$hours = $client['count_month'];
}
$top10_sum = round(($client['count_month']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle_month']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count10 = $count10; $count10 <= 10; $count10++) {
$client_data[$count10] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['sttm0001']; ?></small>
</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<?PHP if($count_ids['count'] < 121) { echo $lang['stix0048'],' (',$count_ids['count'],'/121)'; } else { ?>
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
</div>
</div>
</div>
</div>
</div>
<?PHP } ?>
</div>
<?PHP } ?>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,392 +1,392 @@
<?PHP
require_once('_preload.php');
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$notinuuid = "'0'";
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('%,".$group."') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('".$group.",%')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = "'0'";
}
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`s`.`count_week` - `s`.`idle_week`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`s`.`count_week`";
$texttime = $lang['sttw0003'];
}
$db_arr = $mysqlcon->query("SELECT `s`.`uuid`,`s`.`count_week`,`s`.`idle_week`,`u`.`name`,`u`.`online`,`u`.`cldgroup` FROM (SELECT `uuid`,`removed`,`count_week`,`idle_week` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count_ids = $mysqlcon->query("SELECT COUNT(DISTINCT(`id`)) AS `count` from `$dbname`.`user_snapshot`")->fetch();
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count_week'] - $client['idle_week'];
try {
$notinuuid = '';
if($cfg['rankup_excepted_unique_client_id_list'] != NULL) {
foreach($cfg['rankup_excepted_unique_client_id_list'] as $uuid => $value) {
$notinuuid .= "'".$uuid."',";
}
$notinuuid = substr($notinuuid, 0, -1);
} else {
$hours = $client['count_week'];
$notinuuid = "'0'";
}
$top10_sum = round(($client['count_week']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle_week']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count = $count10; $count10 < 10; $count10++) {
$client_data[$count] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$notingroup = '';
$andnotgroup = '';
if($cfg['rankup_excepted_group_id_list'] != NULL) {
foreach($cfg['rankup_excepted_group_id_list'] as $group => $value) {
$notingroup .= "'".$group."',";
$andnotgroup .= " AND `u`.`cldgroup` NOT LIKE ('".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group.",%') AND `u`.`cldgroup` NOT LIKE ('%,".$group."')";
}
$notingroup = substr($notingroup, 0, -1);
} else {
$notingroup = "'0'";
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
if ($cfg['rankup_time_assess_mode'] == 1) {
$order = "(`s`.`count_week` - `s`.`idle_week`)";
$texttime = $lang['sttw0013'];
} else {
$order = "`s`.`count_week`";
$texttime = $lang['sttw0003'];
}
function get_percentage($max_value, $value) {
return (round(($value/$max_value)*100));
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['sttw0002']; ?></small>
</h1>
</div>
</div>
<?PHP if($count_ids['count'] < 29) { echo $lang['stix0048'],' (',$count_ids['count'],'/29)'; } else { ?>
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
$db_arr = $mysqlcon->query("SELECT `s`.`uuid`,`s`.`count_week`,`s`.`idle_week`,`u`.`name`,`u`.`online`,`u`.`cldgroup` FROM (SELECT `uuid`,`removed`,`count_week`,`idle_week` FROM `$dbname`.`stats_user` WHERE `removed`!=1) `s` INNER JOIN `$dbname`.`user` `u` ON `u`.`uuid`=`s`.`uuid` WHERE `u`.`uuid` NOT IN ($notinuuid) AND `u`.`cldgroup` NOT IN ($notingroup) $andnotgroup AND `s`.`idle_week`<`s`.`count_week` ORDER BY $order DESC LIMIT 10")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
$count_ids = $mysqlcon->query("SELECT COUNT(DISTINCT(`id`)) AS `count` from `$dbname`.`user_snapshot`")->fetch();
$count10 = 0;
$top10_sum = 0;
$top10_idle_sum = 0;
foreach ($db_arr as $uuid => $client) {
if ($cfg['rankup_time_assess_mode'] == 1) {
$hours = $client['count_week'] - $client['idle_week'];
} else {
$hours = $client['count_week'];
}
$top10_sum = round(($client['count_week']/3600)) + $top10_sum;
$top10_idle_sum = round(($client['idle_week']/3600)) + $top10_idle_sum;
$client_data[$count10] = array(
'name' => $client['name'],
'count' => $hours,
'online' => $client['online']
);
$count10++;
}
for($count = $count10; $count10 < 10; $count10++) {
$client_data[$count] = array(
'name' => "<i>unkown</i>",
'count' => "0",
'online' => "0"
);
}
$sum = $mysqlcon->query("SELECT SUM(`count`) AS `count`, SUM(`idle`) AS `idle`, COUNT(*) AS `user` FROM `$dbname`.`user`")->fetch();
$others_sum = round(($sum['count']/3600)) - $top10_sum;
$others_idle_sum = round(($sum['idle']/3600)) - $top10_idle_sum;
$sumentries = $sum['user'] - 10;
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['sttw0001']; ?>
<small><?PHP echo $lang['sttw0002']; ?></small>
</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<?PHP if($count_ids['count'] < 29) { echo $lang['stix0048'],' (',$count_ids['count'],'/29)'; } else { ?>
<div class="row">
<div class="col-lg-4 col-lg-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#1st</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[0]['name']),'">',htmlspecialchars($client_data[0]['name']); ?></span></div>
<div><?PHP if($client_data[0]['count']<3600) { echo sprintf($texttime, round(($client_data[0]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[0]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-lg-offset-2">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#2nd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[1]['name']),'">',htmlspecialchars($client_data[1]['name']); ?></span></div>
<div><?PHP if($client_data[1]['count']<3600) { echo sprintf($texttime, round(($client_data[1]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[1]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<p class="text-center"><i>#3rd</i></p>
<p class="text-center"><i class="fa fa-trophy fa-5x"></i></p>
</div>
<div class="col-xs-9 text-right">
<div>&nbsp;</div>
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[2]['name']),'">',htmlspecialchars($client_data[2]['name']); ?></span></div>
<div><?PHP if($client_data[2]['count']<3600) { echo sprintf($texttime, round(($client_data[2]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[2]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#4th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[3]['name']),'">',htmlspecialchars($client_data[3]['name']); ?></span></div>
<div><?PHP if($client_data[3]['count']<3600) { echo sprintf($texttime, round(($client_data[3]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[3]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#5th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[4]['name']),'">',htmlspecialchars($client_data[4]['name']); ?></span></div>
<div><?PHP if($client_data[4]['count']<3600) { echo sprintf($texttime, round(($client_data[4]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[4]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa-2x">#6th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[5]['name']),'">',htmlspecialchars($client_data[5]['name']); ?></span></div>
<div><?PHP if($client_data[5]['count']<3600) { echo sprintf($texttime, round(($client_data[5]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[5]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#7th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[6]['name']),'">',htmlspecialchars($client_data[6]['name']); ?></span></div>
<div><?PHP if($client_data[6]['count']<3600) { echo sprintf($texttime, round(($client_data[6]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[6]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#8th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[7]['name']),'">',htmlspecialchars($client_data[7]['name']); ?></span></div>
<div><?PHP if($client_data[7]['count']<3600) { echo sprintf($texttime, round(($client_data[7]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[7]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#9th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[8]['name']),'">',htmlspecialchars($client_data[8]['name']); ?></span></div>
<div><?PHP if($client_data[8]['count']<3600) { echo sprintf($texttime, round(($client_data[8]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[8]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<div style="line-height:90%;">
<br>
</div>
<i class="fa-2x">#10th</i>
</div>
<div class="col-xs-9 text-right">
<div class="tophuge"><span title=<?PHP echo '"',htmlspecialchars($client_data[9]['name']),'">',htmlspecialchars($client_data[9]['name']); ?></span></div>
<div><?PHP if($client_data[9]['count']<3600) { echo sprintf($texttime, round(($client_data[9]['count']/60)), $lang['sttw0015']); } else { echo sprintf($texttime, round(($client_data[9]['count']/3600)), $lang['sttw0014']); } ?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0004']; ?></h2>
<h4>#1 <?PHP echo htmlspecialchars($client_data[0]['name']) ?><?PHP echo ($client_data[0]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[0]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: 100%;"><?PHP echo round(($client_data[0]['count']/3600)) .'&nbsp;'.$lang['sttw0005']?>
</div>
</div>
<h4>#2 <?PHP echo htmlspecialchars($client_data[1]['name']) ?><?PHP echo ($client_data[1]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[1]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[1]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[1]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[1]['count'])); ?>
</div>
</div>
<h4>#3 <?PHP echo htmlspecialchars($client_data[2]['name']) ?><?PHP echo ($client_data[2]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[2]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[2]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[2]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[2]['count'])); ?>
</div>
</div>
<h4>#4 <?PHP echo htmlspecialchars($client_data[3]['name']) ?><?PHP echo ($client_data[3]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[3]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[3]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[3]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[3]['count'])); ?>
</div>
</div>
<h4>#5 <?PHP echo htmlspecialchars($client_data[4]['name']) ?><?PHP echo ($client_data[4]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[4]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[4]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[4]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[4]['count'])); ?>
</div>
</div>
<h4>#6 <?PHP echo htmlspecialchars($client_data[5]['name']) ?><?PHP echo ($client_data[5]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[5]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[5]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[5]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[5]['count'])); ?>
</div>
</div>
<h4>#7 <?PHP echo htmlspecialchars($client_data[6]['name']) ?><?PHP echo ($client_data[6]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped <?PHP echo ($client_data[6]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[6]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[6]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[6]['count'])); ?>
</div>
</div>
<h4>#8 <?PHP echo htmlspecialchars($client_data[7]['name']) ?><?PHP echo ($client_data[7]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped <?PHP echo ($client_data[7]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[7]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[7]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[7]['count'])); ?>
</div>
</div>
<h4>#9 <?PHP echo htmlspecialchars($client_data[8]['name']) ?><?PHP echo ($client_data[8]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-striped <?PHP echo ($client_data[8]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[8]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[8]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[8]['count'])); ?>
</div>
</div>
<h4>#10 <?PHP echo htmlspecialchars($client_data[9]['name']) ?><?PHP echo ($client_data[9]['online'] == '1') ? ' (Status: <span class="text-success">'.$lang['stix0024'].'</span>)' : ' (Status: <span class="text-danger">'.$lang['stix0025'].'</span>)' ?></h4>
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped <?PHP echo ($client_data[9]['online'] == '1') ? 'active' : '' ?>" role="progressbar" aria-valuenow="<?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>" aria-valuemin="0" aria-valuemax="100" style="min-width: 20em;width: <?PHP echo get_percentage($client_data[0]['count'], $client_data[9]['count']) ?>%"><?PHP echo sprintf($lang['sttw0006'], round(($client_data[9]['count']/3600)), get_percentage($client_data[0]['count'], $client_data[9]['count'])); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2><?PHP echo $lang['sttw0007']; ?></h2>
<div class="col-lg-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0008']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut1"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0009']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut2"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel panel-yellow">
<div class="panel-heading">
<h3 class="panel-title"><i class="fas fa-chart-bar"></i>&nbsp;<?PHP echo $lang['sttw0010']; ?></h3>
</div>
<div class="panel-body">
<div id="top10vs_donut3"></div>
</div>
</div>
</div>
</div>
</div>
<?PHP } ?>
</div>
<?PHP } ?>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
<script>
Morris.Donut({
element: 'top10vs_donut1',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum ?>},
]
});
Morris.Donut({
element: 'top10vs_donut2',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_sum - $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_sum - $others_idle_sum ?>},
],
colors: [
'#5cb85c',
'#80ce80'
]
});
Morris.Donut({
element: 'top10vs_donut3',
data: [
{label: <?PHP echo '"',$lang['sttw0011'],'"'; ?>, value: <?PHP echo $top10_idle_sum ?>},
{label: <?PHP echo '"'.sprintf($lang['sttw0012'].'"', $sumentries); ?>, value: <?PHP echo $others_idle_sum ?>},
],
colors: [
'#f0ad4e',
'#ffc675'
]
});
</script>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -14,6 +14,7 @@ session_start();
header("Content-Type: application/json; charset=UTF-8");
require_once('../other/_functions.php');
require_once('../other/config.php');
$mysqlcon->query("SET @a:=0");

View File

@@ -1,191 +1,206 @@
<?PHP
require_once('_preload.php');
if(isset($_REQUEST['token']) && isset($_SESSION[$rspathhex.'temp_uuid'])) {
if($_REQUEST['token'] == NULL) {
$err_msg = $lang['stve0003']; $err_lvl = 1;
} elseif($_REQUEST['token'] != $_SESSION[$rspathhex.'token']) {
$err_msg = $lang['stve0004']; $err_lvl = 3;
} elseif($_REQUEST['token'] == $_SESSION[$rspathhex.'token']) {
$err_msg = $lang['stve0005']; $err_lvl = NULL;
$_SESSION[$rspathhex.'serverport'] = $cfg['teamspeak_voice_port'];
$_SESSION[$rspathhex.'uuid_verified'] = $_SESSION[$rspathhex.'temp_uuid'];
$_SESSION[$rspathhex.'tsuid'] = $_SESSION[$rspathhex.'temp_uuid'];
$_SESSION[$rspathhex.'multiple'] = array();
$_SESSION[$rspathhex.'connected'] = 1;
$_SESSION[$rspathhex.'tscldbid'] = $_SESSION[$rspathhex.'temp_cldbid'];
$_SESSION[$rspathhex.'tsname'] = $_SESSION[$rspathhex.'temp_name'];
foreach ($cfg['webinterface_admin_client_unique_id_list'] as $auuid) {
if ($_SESSION[$rspathhex.'uuid_verified'] == $auuid) {
$_SESSION[$rspathhex.'admin'] = TRUE;
}
}
$dbdata = $mysqlcon->prepare("SELECT `a`.`firstcon` AS `firstcon`, `b`.`total_connections` AS `total_connections` FROM `$dbname`.`user` `a` INNER JOIN `$dbname`.`stats_user` `b` ON `a`.`uuid`=`b`.`uuid` WHERE `b`.`uuid` = :uuid");
$dbdata->bindValue(':uuid', $_SESSION[$rspathhex.'tsuid'], PDO::PARAM_STR);
$dbdata->execute();
$clientinfo = $dbdata->fetchAll();
if ($clientinfo[0]['total_connections'] != NULL) {
$_SESSION[$rspathhex.'tsconnections'] = $clientinfo[0]['total_connections'];
} else {
$_SESSION[$rspathhex.'tsconnections'] = 0;
}
if ($clientinfo[0]['firstcon'] == 0) {
$_SESSION[$rspathhex.'tscreated'] = "unkown";
} else {
$_SESSION[$rspathhex.'tscreated'] = date('d-m-Y', $clientinfo[0]['firstcon']);
}
$convert = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p');
$uuidasbase16 = '';
for ($i = 0; $i < 20; $i++) {
$char = ord(substr(base64_decode($_SESSION[$rspathhex.'tsuid']), $i, 1));
$uuidasbase16 .= $convert[($char & 0xF0) >> 4];
$uuidasbase16 .= $convert[$char & 0x0F];
}
if (is_file('../avatars/' . $uuidasbase16 . '.png')) {
$_SESSION[$rspathhex.'tsavatar'] = $uuidasbase16 . '.png';
} else {
$_SESSION[$rspathhex.'tsavatar'] = "none";
}
$_SESSION[$rspathhex.'language'] = $cfg['default_language'];
} else {
$err_msg = $lang['stve0006']; $err_lvl = 3;
}
}
if((!isset($_SESSION[$rspathhex.'multiple']) || count($_SESSION[$rspathhex.'multiple']) == 0) && ($cfg['teamspeak_verification_channel_id'] == NULL || $cfg['teamspeak_verification_channel_id'] == 0)) {
$err_msg = $lang['verify0001']."<br><br>".$lang['verify0003'];
$err_lvl = 3;
} elseif($_SESSION[$rspathhex.'connected'] == 0 && $cfg['teamspeak_verification_channel_id'] != NULL && $cfg['teamspeak_verification_channel_id'] != 0) {
$err_msg = $lang['verify0001']; $err_lvl = 1;
$uuids = $mysqlcon->query("SELECT `name`,`uuid` FROM `$dbname`.`user` WHERE `online`='1' AND `cid`='{$cfg['teamspeak_verification_channel_id']}' ORDER BY `name` ASC")->fetchAll();
foreach($uuids as $entry) {
$_SESSION[$rspathhex.'multiple'][$entry['uuid']] = $entry['name'];
}
} elseif(count($_SESSION[$rspathhex.'multiple']) == 1 && $_SESSION[$rspathhex.'connected'] == 1) {
$err_msg = $lang['stve0005']; $err_lvl = 1;
}
if(isset($_POST['uuid']) && !isset($_SESSION[$rspathhex.'temp_uuid'])) {
if(array_key_exists($_POST['uuid'], $_SESSION[$rspathhex.'multiple'])) {
require_once('../libs/ts3_lib/TeamSpeak3.php');
try {
if($cfg['teamspeak_query_encrypt_switch'] == 1) {
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&ssh=1");
} else {
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&blocking=0");
}
try {
usleep($cfg['teamspeak_query_command_delay']);
$ts3->selfUpdate(array('client_nickname' => "Ranksystem - Verification"));
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
try {
usleep($cfg['teamspeak_query_command_delay']);
$allclients = $ts3->clientList();
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
foreach ($allclients as $client) {
if($client['client_unique_identifier'] == $_POST['uuid']) {
$cldbid = $client['client_database_id'];
$nickname = htmlspecialchars($client['client_nickname'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_uuid'] = htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_cldbid'] = $cldbid;
$_SESSION[$rspathhex.'temp_name'] = $nickname;
$pwd = substr(str_shuffle("abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"),0,6);
$_SESSION[$rspathhex.'token'] = $pwd;
$tokenlink = '[URL]http'.(!empty($_SERVER['HTTPS'])?'s':'').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'?token='.$pwd.'[/URL]';
try {
$ts3->clientGetByUid($_SESSION[$rspathhex.'temp_uuid'])->message(sprintf($lang['stve0001'], $nickname, $tokenlink, $pwd));
$err_msg = $lang['stve0002']; $err_lvl = 1;
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
break;
try {
if(isset($_REQUEST['token']) && isset($_SESSION[$rspathhex.'temp_uuid'])) {
if($_REQUEST['token'] == NULL) {
$err_msg = $lang['stve0003']; $err_lvl = 1;
} elseif($_REQUEST['token'] != $_SESSION[$rspathhex.'token']) {
$err_msg = $lang['stve0004']; $err_lvl = 3;
} elseif($_REQUEST['token'] == $_SESSION[$rspathhex.'token']) {
$err_msg = $lang['stve0005']; $err_lvl = NULL;
$_SESSION[$rspathhex.'serverport'] = $cfg['teamspeak_voice_port'];
$_SESSION[$rspathhex.'uuid_verified'] = $_SESSION[$rspathhex.'temp_uuid'];
$_SESSION[$rspathhex.'tsuid'] = $_SESSION[$rspathhex.'temp_uuid'];
$_SESSION[$rspathhex.'multiple'] = array();
$_SESSION[$rspathhex.'connected'] = 1;
$_SESSION[$rspathhex.'tscldbid'] = $_SESSION[$rspathhex.'temp_cldbid'];
$_SESSION[$rspathhex.'tsname'] = $_SESSION[$rspathhex.'temp_name'];
foreach ($cfg['webinterface_admin_client_unique_id_list'] as $auuid) {
if ($_SESSION[$rspathhex.'uuid_verified'] == $auuid) {
$_SESSION[$rspathhex.'admin'] = TRUE;
}
}
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
$dbdata = $mysqlcon->prepare("SELECT `a`.`firstcon` AS `firstcon`, `b`.`total_connections` AS `total_connections` FROM `$dbname`.`user` `a` INNER JOIN `$dbname`.`stats_user` `b` ON `a`.`uuid`=`b`.`uuid` WHERE `b`.`uuid` = :uuid");
$dbdata->bindValue(':uuid', $_SESSION[$rspathhex.'tsuid'], PDO::PARAM_STR);
$dbdata->execute();
$clientinfo = $dbdata->fetchAll();
if ($clientinfo[0]['total_connections'] != NULL) {
$_SESSION[$rspathhex.'tsconnections'] = $clientinfo[0]['total_connections'];
} else {
$_SESSION[$rspathhex.'tsconnections'] = 0;
}
if ($clientinfo[0]['firstcon'] == 0) {
$_SESSION[$rspathhex.'tscreated'] = "unkown";
} else {
$_SESSION[$rspathhex.'tscreated'] = date('d-m-Y', $clientinfo[0]['firstcon']);
}
$convert = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p');
$uuidasbase16 = '';
for ($i = 0; $i < 20; $i++) {
$char = ord(substr(base64_decode($_SESSION[$rspathhex.'tsuid']), $i, 1));
$uuidasbase16 .= $convert[($char & 0xF0) >> 4];
$uuidasbase16 .= $convert[$char & 0x0F];
}
if (is_file('../avatars/' . $uuidasbase16 . '.png')) {
$_SESSION[$rspathhex.'tsavatar'] = $uuidasbase16 . '.png';
} else {
$_SESSION[$rspathhex.'tsavatar'] = "none";
}
$_SESSION[$rspathhex.'language'] = $cfg['default_language'];
} else {
$err_msg = $lang['stve0006']; $err_lvl = 3;
}
} else {
$err_msg = "The chosen user couldn't found! You are still connected on the TS server? Please stay connected on the server during the verification process!";
$err_lvl = 3;
}
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl);
if(count($_SESSION[$rspathhex.'multiple']) > 1 || ($_SESSION[$rspathhex.'connected'] == 0 && $cfg['teamspeak_verification_channel_id'] != NULL && $cfg['teamspeak_verification_channel_id'] != 0)) {
?>
<div class="container-fluid">
<div id="login-overlay" class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['stve0007']; ?></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-12">
<form name="verify" method="POST">
<?PHP
if($_SESSION[$rspathhex.'connected'] == 0) {
$ts3link = '<a href="ts3server://';
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
$ts3link .= preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
$ts3link .= $_SERVER['HTTP_HOST'];
} else {
$ts3link .= $cfg['teamspeak_host_address'];
if((!isset($_SESSION[$rspathhex.'multiple']) || count($_SESSION[$rspathhex.'multiple']) == 0) && ($cfg['teamspeak_verification_channel_id'] == NULL || $cfg['teamspeak_verification_channel_id'] == 0)) {
$err_msg = $lang['verify0001']."<br><br>".$lang['verify0003'];
$err_lvl = 3;
} elseif((isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) && $cfg['teamspeak_verification_channel_id'] != NULL && $cfg['teamspeak_verification_channel_id'] != 0) {
$err_msg = $lang['verify0001']; $err_lvl = 1;
$uuids = $mysqlcon->query("SELECT `name`,`uuid` FROM `$dbname`.`user` WHERE `online`='1' AND `cid`='{$cfg['teamspeak_verification_channel_id']}' ORDER BY `name` ASC")->fetchAll();
foreach($uuids as $entry) {
$_SESSION[$rspathhex.'multiple'][$entry['uuid']] = $entry['name'];
}
} elseif(count($_SESSION[$rspathhex.'multiple']) == 1 && $_SESSION[$rspathhex.'connected'] == 1) {
$err_msg = $lang['stve0005']; $err_lvl = 1;
}
if(isset($_POST['uuid']) && !isset($_SESSION[$rspathhex.'temp_uuid'])) {
if(array_key_exists($_POST['uuid'], $_SESSION[$rspathhex.'multiple'])) {
require_once('../libs/ts3_lib/TeamSpeak3.php');
try {
if($cfg['teamspeak_query_encrypt_switch'] == 1) {
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&ssh=1");
} else {
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&blocking=0");
}
try {
usleep($cfg['teamspeak_query_command_delay']);
$ts3->selfUpdate(array('client_nickname' => "Ranksystem - Verification"));
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
try {
usleep($cfg['teamspeak_query_command_delay']);
$allclients = $ts3->clientList();
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
foreach ($allclients as $client) {
if($client['client_unique_identifier'] == $_POST['uuid']) {
$cldbid = $client['client_database_id'];
$nickname = htmlspecialchars($client['client_nickname'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_uuid'] = htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_cldbid'] = $cldbid;
$_SESSION[$rspathhex.'temp_name'] = $nickname;
$pwd = substr(str_shuffle("abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"),0,6);
$_SESSION[$rspathhex.'token'] = $pwd;
$tokenlink = '[URL]http'.(!empty($_SERVER['HTTPS'])?'s':'').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'?token='.$pwd.'[/URL]';
try {
$ts3->clientGetByUid($_SESSION[$rspathhex.'temp_uuid'])->message(sprintf($lang['stve0001'], $nickname, $tokenlink, $pwd));
$err_msg = $lang['stve0002']; $err_lvl = 1;
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
break;
}
}
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
} else {
$err_msg = "The chosen user couldn't found! You are still connected on the TS server? Please stay connected on the server during the verification process!";
$err_lvl = 3;
}
}
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl);
if(isset($_SESSION[$rspathhex.'multiple']) && count($_SESSION[$rspathhex.'multiple']) > 1 || ((isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) && $cfg['teamspeak_verification_channel_id'] != NULL && $cfg['teamspeak_verification_channel_id'] != 0)) {
?>
<div class="container-fluid">
<div id="login-overlay" class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['stve0007']; ?></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-12">
<form name="verify" method="POST">
<?PHP
if(isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
$ts3link = '<a href="ts3server://';
if (($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') && strpos($_SERVER['HTTP_HOST'], 'www.') == 0) {
$ts3link .= preg_replace('/www\./','',$_SERVER['HTTP_HOST']);
} elseif ($cfg['teamspeak_host_address']=='localhost' || $cfg['teamspeak_host_address']=='127.0.0.1') {
$ts3link .= $_SERVER['HTTP_HOST'];
} else {
$ts3link .= $cfg['teamspeak_host_address'];
}
$ts3link .= ':'.$cfg['teamspeak_voice_port'].'?cid='.$cfg['teamspeak_verification_channel_id'].'">';
echo '<p>1. ',sprintf($lang['verify0002'], $ts3link, '</a>'),'</p>';
}
$ts3link .= ':'.$cfg['teamspeak_voice_port'].'?cid='.$cfg['teamspeak_verification_channel_id'].'">';
echo '<p>1. ',sprintf($lang['verify0002'], $ts3link, '</a>'),'</p>';
}
?>
<p><?PHP echo ($_SESSION[$rspathhex.'connected'] == 0) ? '2. '.$lang['stve0008'] : '1. '.$lang['stve0008']; ?></p>
<div class="form-group">
<div class="input-group col-sm-12">
<select class="selectpicker show-tick form-control" name="uuid" id="uuid" onchange="this.form.submit();">
<?PHP
if(count($_SESSION[$rspathhex.'multiple']) == 0) {
echo '<option disabled value="" selected>'.$lang['verify0004'].'</option>';
} else {
echo '<option disabled value=""';
if(!isset($_SESSION[$rspathhex.'temp_uuid'])) echo ' selected','>',$lang['stve0009'];
echo '</option>';
}
foreach($_SESSION[$rspathhex.'multiple'] as $uuid => $nickname) {
echo '<option data-subtext="',$uuid,'" value="',$uuid,'"';
if(isset($_SESSION[$rspathhex.'temp_uuid']) && $_SESSION[$rspathhex.'temp_uuid'] == $uuid) echo ' selected'; echo '>',htmlspecialchars($nickname),'</option>';
}
?>
</select>
?>
<p><?PHP
if(isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
echo '2. '.$lang['stve0008'];
} else {
echo '1. '.$lang['stve0008'];
} ?></p>
<div class="form-group">
<div class="input-group col-sm-12">
<select class="selectpicker show-tick form-control" name="uuid" id="uuid" onchange="this.form.submit();">
<?PHP
if(isset($_SESSION[$rspathhex.'multiple']) && count($_SESSION[$rspathhex.'multiple']) == 0 || !isset($_SESSION[$rspathhex.'multiple'])) {
echo '<option disabled value="" selected>'.$lang['verify0004'].'</option>';
} else {
echo '<option disabled value=""';
if(!isset($_SESSION[$rspathhex.'temp_uuid'])) echo ' selected','>',$lang['stve0009'];
echo '</option>';
foreach($_SESSION[$rspathhex.'multiple'] as $uuid => $nickname) {
echo '<option data-subtext="',$uuid,'" value="',$uuid,'"';
if(isset($_SESSION[$rspathhex.'temp_uuid']) && $_SESSION[$rspathhex.'temp_uuid'] == $uuid) echo ' selected'; echo '>',htmlspecialchars($nickname),'</option>';
}
}
?>
</select>
</div>
</div>
</div>
<p><?PHP echo ($_SESSION[$rspathhex.'connected'] == 0) ? '3. '.$lang['stve0010'] : '2. '.$lang['stve0010']; ?></p>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon"><?PHP echo $lang['stve0011']; ?></span>
<input type="text" class="form-control" name="token" placeholder="" maxlength="64">
<p><?PHP
if(isset($_SESSION[$rspathhex.'connected']) && $_SESSION[$rspathhex.'connected'] == 0 || !isset($_SESSION[$rspathhex.'connected'])) {
echo '3. '.$lang['stve0010'];
} else {
echo '2. '.$lang['stve0010'];
}
?></p>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon"><?PHP echo $lang['stve0011']; ?></span>
<input type="text" class="form-control" name="token" placeholder="" maxlength="64">
</div>
</div>
</div>
<br>
<p>
<button type="submit" class="btn btn-success btn-block" name="verify"><?PHP echo $lang['stve0012']; ?></button>
</p>
</form>
<br>
<p>
<button type="submit" class="btn btn-success btn-block" name="verify"><?PHP echo $lang['stve0012']; ?></button>
</p>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP } ?>
</div>
<?PHP } ?>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -1,54 +1,58 @@
<?PHP
require_once('_preload.php');
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_versions` ORDER BY `count` DESC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0005'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0005']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $version => $value) {
$count++;
echo '
<tr>
<td>',$count,'</td>
<td>',$version,'</td>
<td>',$value['count'],'</td>
<td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td>
</tr>';
}
?>
</tbody>
</table>
try {
$sql_res = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_versions` ORDER BY `count` DESC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
?>
<div id="page-wrapper">
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
<?PHP echo $lang['stna0005'],' - ',$lang['stna0002']; ?>
</h1>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<th>#</th>
<th><?PHP echo $lang['stna0005']; ?></th>
<th><?PHP echo $lang['stix0060'],' ',$lang['stna0004']; ?></th>
<th><?PHP echo $lang['stna0007']; ?></th>
</tr>
<?PHP
$count = 0;
$sum_of_all = 0;
foreach ($sql_res as $country => $value) {
$sum_of_all = $sum_of_all + $value['count'];
}
foreach ($sql_res as $version => $value) {
$count++;
echo '
<tr>
<td>',$count,'</td>
<td>',$version,'</td>
<td>',$value['count'],'</td>
<td>',number_format(round(($value['count'] * 100 / $sum_of_all), 1), 1),' %</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP require_once('_footer.php'); ?>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>