$res=hesk_dbQuery("SELECT `t1`.`user_id` , `t2`.`name` , `t2`.`isadmin` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."online` AS `t1` INNER JOIN `".hesk_dbEscape($hesk_settings['db_pfix'])."users` AS `t2` ON `t1`.`user_id` = `t2`.`id`");
while($tmp=hesk_dbFetchAssoc($res))
{
$users_online[$tmp['user_id']]=array(
'id'=>$tmp['user_id'],
'name'=>$tmp['name'],
'isadmin'=>$tmp['isadmin']
);
}
}
/* --> Without names */
else
{
$res=hesk_dbQuery("SELECT `user_id` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."online`");
while($tmp=hesk_dbFetchAssoc($res))
{
$users_online[]=$tmp['user_id'];
}
}
return$users_online;
}// END hesk_listOnline()
functionhesk_setOnline($user_id)
{
global$hesk_settings,$hesklang,$hesk_db_link;
/* If already online just update... */
hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."online` SET `tmp` = `tmp` + 1 WHERE `user_id` = '".intval($user_id)."'");
/* ... else insert a new entry */
if(!hesk_dbAffectedRows())
{
hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."online` (`user_id`) VALUES (".intval($user_id).") ");
}
returntrue;
}// END hesk_setOnline()
functionhesk_setOffline($user_id)
{
global$hesk_settings,$hesklang,$hesk_db_link;
/* If already online just update... */
hesk_dbQuery("DELETE FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."online` WHERE `user_id` = '".intval($user_id)."'");
returntrue;
}// END hesk_setOffline()
functionhesk_cleanOnline()
{
global$hesk_settings,$hesklang,$hesk_db_link;
/* Delete old rows from the database */
hesk_dbQuery("DELETE FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."online` WHERE `dt` < ( NOW() - INTERVAL ".intval($hesk_settings['online_min'])." MINUTE) ");