mirror of
https://github.com/Xkeeper0/jul.git
synced 2025-05-19 00:30:21 -07:00
101 lines
2.7 KiB
PHP
101 lines
2.7 KiB
PHP
<?php
|
|
require 'lib/function.php';
|
|
require 'lib/layout.php';
|
|
|
|
$set = (($_GET['set']) ? (int)$_GET['set'] : -1);
|
|
$showall = (($_GET['showall']) ? 1 : 0);
|
|
|
|
$rsets = $sql->query('SELECT * FROM ranksets WHERE id>0 ORDER BY id');
|
|
while($rset = $sql->fetch($rsets)) {
|
|
// First rankset
|
|
if($set < 0) $set = $rset['id'];
|
|
$selected = (($rset['id']==$set) ? 'selected' : '' );
|
|
|
|
$ranksetlist.="<option value={$rset['id']} {$selected}>{$rset['name']}";
|
|
}
|
|
$ch[$showall]='checked';
|
|
|
|
print "
|
|
$header
|
|
<FORM ACTION=ranks.php NAME=REPLIER>
|
|
$tblstart
|
|
$tccellh colspan=2> <tr>
|
|
$tccell1><b>Rank set</b></td>
|
|
$tccell2l><select name=set>$ranksetlist</select><tr>
|
|
$tccell1><b>Users to show</b></td>
|
|
$tccell2l>
|
|
$radio=showall value=0 $ch[0]> Selected rank set only
|
|
|
|
$radio=showall value=1 $ch[1]> All users
|
|
<tr>
|
|
$tccellh colspan=2> <tr>
|
|
$tccell1> </td>
|
|
$tccell2l><input type=submit class=submit value=View></td>
|
|
</FORM>
|
|
$tblend
|
|
<br>
|
|
$tblstart
|
|
$tccellh width=150>Rank</td>
|
|
$tccellh width=60>Posts</td>
|
|
$tccellh width=60>Ranking</td>
|
|
$tccellh colspan=2>Users on that rank
|
|
";
|
|
|
|
$useranks = ($showall?'':"AND useranks={$set}");
|
|
$btime=ctime()-86400*30;
|
|
|
|
$ranks = $sql->query("SELECT * FROM ranks WHERE rset=$set ORDER BY num");
|
|
$totalranks = mysql_num_rows($ranks);
|
|
|
|
if ($totalranks > 0) {
|
|
$rank = $sql->fetch($ranks);
|
|
|
|
// 300 queries [11sec] ---> 20 queries [1sec]
|
|
$users = $sql->query("SELECT id,name,sex,powerlevel,aka,birthday,posts,lastactivity,lastposttime FROM users WHERE posts >= $rank[num] $useranks ORDER BY posts ASC");
|
|
$user = $sql->fetch($users);
|
|
$total = mysql_num_rows($users);
|
|
}
|
|
|
|
for($i=0; $i<$totalranks; ++$i) {
|
|
$rankn=$sql->fetch($ranks);
|
|
if(!$rankn['num']) $rankn['num']=8388607;
|
|
|
|
$userarray = array();
|
|
$inactive = 0;
|
|
|
|
for($u=0;$user && $user['posts'] < $rankn['num'];$u++){
|
|
if (max($user['lastactivity'], $user['lastposttime']) > $btime)
|
|
$userarray[$user['name']] = getuserlink($user);
|
|
else ++$inactive;
|
|
$user = $sql->fetch($users);
|
|
}
|
|
|
|
@ksort($userarray);
|
|
$userlisting = implode(", ", $userarray);
|
|
|
|
if($inactive) $userlisting.=($userlisting?', ':'')."$inactive inactive";
|
|
if(!$userlisting) $userlisting=' ';
|
|
|
|
if($userlisting != ' ' || $rank['num'] <= $loguser['posts'] || $ismod) {
|
|
print "<tr>
|
|
$tccell2ls width=200>$rank[text]</td>
|
|
$tccell1 width=60>$rank[num]</td>
|
|
$tccell1 width=60>$total</td>
|
|
$tccell1 width=30>$u</td>
|
|
$tccell2s width=*>$userlisting";
|
|
}
|
|
else {
|
|
print "<tr>
|
|
$tccell1>? ? ?</td>
|
|
$tccell1>???</td>
|
|
$tccell1>?</td>
|
|
$tccell1>?</td>
|
|
$tccell1s>?";
|
|
}
|
|
$rank = $rankn;
|
|
$total -= $u;
|
|
}
|
|
|
|
print $tblend.$footer;
|
|
printtimedif($startingtime);
|
|
?>
|