fix 'x.0 years' bug and add sort by last active to memberlist

[closes #45]

also adds tooltips (title tags) to the "registered on" and
"last active" fields in the memberlist, which contain
a relative-format time (e.g. '1 day 5 hrs. ago')
This commit is contained in:
Xkeeper 2018-12-11 15:19:20 -08:00
parent 2e047c1c1c
commit 82905dc369
No known key found for this signature in database
GPG Key ID: 397C04773ABE4045
2 changed files with 14 additions and 10 deletions

View File

@ -329,7 +329,7 @@ function timeunits($sec){
if($sec<86400) return floor($sec/3600).' hours';
if($sec<172800) return '1 day';
if($sec<31556926) return floor($sec/86400).' days';
return sprintf("%.1f years", floor($sec/31556926));
return sprintf("%.1f years", $sec/31556926);
}
function timeunits2($sec){

View File

@ -42,12 +42,13 @@
$where = 'WHERE '.((empty($qwhere)) ? '1' : implode(' AND ', $qwhere));
if (!in_array($sort, array('name','reg','exp','age','posts')))
if (!in_array($sort, array('name','reg','exp','age','posts', 'act')))
$sort = 'posts';
$query='SELECT id,posts,regdate,name,minipic,sex,powerlevel,aka,r.* FROM users LEFT JOIN users_rpg r ON id=uid ';
$query='SELECT id,posts,regdate,lastactivity,name,minipic,sex,powerlevel,aka,r.* FROM users LEFT JOIN users_rpg r ON id=uid ';
if($sort=='name') $users1=$sql->query("$query$where ORDER BY name", MYSQL_ASSOC);
if($sort=='reg') $users1=$sql->query("$query$where ORDER BY regdate DESC", MYSQL_ASSOC);
if($sort=='act') $users1=$sql->query("$query$where ORDER BY lastactivity DESC", MYSQL_ASSOC);
if($sort=='exp') $users1=$sql->query("$query$where", MYSQL_ASSOC);
if($sort=='age') $users1=$sql->query("$query$where AND birthday ORDER BY birthday", MYSQL_ASSOC);
if($sort=='posts') $users1=$sql->query("$query$where ORDER BY posts DESC", MYSQL_ASSOC);
@ -80,6 +81,7 @@
$lnk=exp$q$qpow$qsex>EXP</a> |
$lnk=name$q$qpow$qsex>User name</a> |
$lnk=reg$q$qpow$qsex>Registration date</a> |
$lnk=act$q$qpow$qsex>Last activity</a> |
$lnk=age$q$qpow$qsex>Age</a>
</tr><tr>
$tccell1s> Sex:
@ -93,7 +95,7 @@
$tccell2s>
$lnk=$sort$q$qsex&pow=-1>Banned</a> |
$lnk=$sort$q$qsex&pow=0>Normal</a> |
". ($loguser['powerlevel'] >= 3 ? "$lnk=$sort$q$qsex&pow=1>Normal +</a> | " : "") ."
". ($loguser['powerlevel'] >= 1 ? "$lnk=$sort$q$qsex&pow=1>Normal +</a> | " : "") ."
$lnk=$sort$q$qsex&pow=2>Moderator</a> |
$lnk=$sort$q$qsex&pow=3>Administrator</a> |
$lnk=$sort$q$qsex>All</a>
@ -107,6 +109,7 @@
if(!$rpg) {
print "
$tccellh width=200>Registered on</td>
$tccellh width=200>Last active</td>
$tccellh width=60>Posts</td>
$tccellh width=35>Level</td>
$tccellh width=100>EXP</td></tr>
@ -137,17 +140,18 @@
$userlink = getuserlink($user);
$ulist.="
$tccell2>".($i+1).".</td>
$tccell2>".($i+1)."</td>
$tccell1l>{$userpicture}</td>
$tccell2l>{$userlink}</td>
";
if(!$rpg){
$ulist.="
$tccell2>".date($dateformat,$user['regdate']+$tzoff)."</td>
$tccell1>{$user['posts']}</td>
$tccell1>{$user['lvl']}</td>
$tccell1>{$user['exp']}</td>
$tccell2><span title='". timeunits2(ctime() - $user['regdate']) ." ago'>".date($dateformat,$user['regdate']+$tzoff)."</span></td>
$tccell2><span title='". timeunits2(ctime() - $user['lastactivity']) ." ago'>".date($dateformat,$user['lastactivity']+$tzoff)."</span></td>
$tccell1r>{$user['posts']}</td>
$tccell1r>{$user['lvl']}</td>
$tccell1r>{$user['exp']}</td>
";
}
else {