mirror of
https://github.com/Xkeeper0/jul.git
synced 2025-07-31 04:02:00 -07:00
First (re-)commit
This commit is contained in:
101
ranks.php
Normal file
101
ranks.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?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);
|
||||
?>
|
Reference in New Issue
Block a user