Как программно узнать в онлайн пользователь или нет?

15 января 2009 в 11:24
Аватар пользователя teodorix teodorix 0 10

Пример - как на форуме - показывает в онлайне пользователи или в офф лайн.
id известно..

Комментарии

<?php
global $user;
print $user->access; // время последнего обращения к сайту
print $user->login; // время последнего логина
?>

Если (текущее время - время последнего обращения к сайту) < 10 минут, то можно считать, что пользователь на сайте.

15 января 2009 в 12:13

Вот вариант для профайла, показывает онлайн юзер, или нет
<?php
$time_period = variable_get('user_block_seconds_online', 2700);
$uid = $account->uid; // get the current userid that is being viewed.
if ($account->access > time() - $time_period) {
echo 'Online';
}
else {
echo 'Offline';
}
?>

15 января 2009 в 12:27

$uid = .... ;
$access = db_result(db_query('SELECT if((unix_timestamp() - access) < 900,1,0) FROM {users} WHERE uid=%d', $uid));
---------

$access = 1 если пользователь был активен менее чем 900сек. назад
иначе $access = 0

15 января 2009 в 13:07