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

Главные вкладки

Комментарии

Аватар пользователя Ромка Ромка 15 января 2009 в 12:13

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

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

Аватар пользователя tyred tyred 15 января 2009 в 12:27

Вот вариант для профайла, показывает онлайн юзер, или нет
<?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';
}
?>

Аватар пользователя bodro bodro 15 января 2009 в 13:07

$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