HCM modul zobrazuje tyto uzivatele podle casu posledni aktivity
" WHERE " . time() . "-activitytime<1800"ale v systému není možnost jak poznat zda uživatel něco čte, prohlíží, píše nebo zda na webu již není, pokud neprovede aktualizaci stránky a tím neaktualizuje
activitytime
já jsem pro jeden klanový web dělal vlastní alteranitivu tohoto modulu kde se zobrazuje status cca takto:
!zadany cas pro vypis se VZDY deli na tretiny
pro cas 15minut plati:
0-5min uzivatel je aktivni
5-10min uzivatel je neaktivni
10-15min uzivatel je uplne pryc
a nad 15min uz se ani nevypisuje
http://prntscr.com/650c0w
<?php
if(!defined('_core')) {
exit;
}
/**
* @param $pocet pocet vypsanych uzivatelu
* @param $minut celkovy pocet minut pro vypis uzivatelu (aktivni, neaktivni, pryc)
* @return string
*/
function _HCM_ba_baonline($pocet=5, $minut=30)
{
$result = "";
$pocet = abs(intval($pocet));
$minut = abs(intval($minut));
$online=ceil(($minut*60)*0.33);
$away=ceil(($minut*60)*0.66);
$query=DB::query("SELECT u.id as u_id, u.username as u_username, u.publicname as u_publicname, u.activitytime as u_activitytime,
g.id as g_id, g.icon as g_icon, g.color as g_color
FROM `"._mysql_prefix."-users` u
LEFT JOIN `"._mysql_prefix."-groups` g ON (u.group=g.id)
WHERE ".time()."-u.activitytime<({$minut}*60) ORDER BY u.activitytime DESC LIMIT ".$pocet
);
$result.="<ul class='baonline-list'>";
while($user = DB::row($query)){
$ikona="offline";
$cas=(strtotime('now')-intval($user['u_activitytime']));
switch($cas){
case ($cas < $online): $ikona = "online"; $status="aktivní";break;
case ($cas > $online && $cas < $away): $ikona = "away"; $status="neaktivní více než ".ceil($minut*0.33)."min."; break;
default: $ikona = "offline"; $status="neaktivní více než ".ceil($minut*0.66)."min."; break;
}
$result.= "<li><img src='./pictures/groupicons/{$user['g_icon']}' alt='icon' class='icon'> <a href='./index.php?m=profile&id={$user['u_username']}' class='user-link-{$user['u_id']} user-link-group-{$user['g_id']}' style='color:{$user['g_color']};'>".(!empty($user['u_publicname'])?$user['u_publicname']:$user['u_username'])."</a> "
. "<span class='baonline-action'>"
.(
$user['u_id']!=_loginid
? "<img src='"._templateImage("{$ikona}.png")."' name='status-icon' class='status-icon' alt='status-{$ikona}' title='{$status}'> "
: "")
.(
$user['u_id']!=_loginid
? "<a href='./index.php?m=messages&a=new&subject=PM&receiver={$user['u_username']}' class='useronline-pm'><acronym title='Napsat soukromou zprávu'>[ PM ]</acronym></a>"
: ""
)
. "</span>"
."</li>\n";
}
$result.="</ul>";
return $result;
}