$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 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' => htmlspecialchars($client['name']), 'title' => htmlspecialchars($client['name']), 'count' => $hours, 'online' => $client['online'] ); $count10++; } for($count10 = $count10; $count10 <= 10; $count10++) { $client_data[$count10] = array( 'name' => "unkown", 'title' => "unkown", '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; ?>
#1st
#2nd
#3rd