GolovaNoga 20 марта 2012 в 7:43 Подскажиет как узнать залогинен ли определенный пользователь на сайте? Я хочу показывать блок с контактами тогда когда владелец сайта сейчас залогинен. Drupal7 Есть вопрос Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
GolovaNoga 20 марта 2012 в 9:04 Нашел такую строчку в модуле admin_menu <?php$interval = time() - variable_get('user_block_seconds_online', 900); $count_anon = sess_count($interval); $count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));?> Как я понимаю есть таблица сессий в которой есть все текущие сессии и оттуда можно взять пользователя с нужным номером. А может функция есть у друпала какая-нибудь чтобы это просто сделать?
void89a 20 марта 2012 в 10:32 global $user; $site_owner_uid = 1; if(user_is_logged_in() && $user->uid === $site_owner_uid) return true; $site_owner_uid - id нужного пользователя
GolovaNoga 21 марта 2012 в 9:42 У меня не заработало Вот елси бы было типа этого .... <?phpuser_is_logged_in($uid)?> и возвращало true или false
void89a 22 марта 2012 в 9:03 "GolovaNoga" wrote: <?php$interval = time() - variable_get('user_block_seconds_online', 900); $count_anon = sess_count($interval); $count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));?> в таблице как раз вошедшие пользователи, оформите в функцию и пользуйтесь
Комментарии
Можно попробовать модулем Rules(возможно в паре с Context)
Нашел такую строчку в модуле admin_menu
<?php$interval = time() - variable_get('user_block_seconds_online', 900);
$count_anon = sess_count($interval);
$count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));?>
Как я понимаю есть таблица сессий в которой есть все текущие сессии и оттуда можно взять пользователя с нужным номером.
А может функция есть у друпала какая-нибудь чтобы это просто сделать?
$site_owner_uid = 1;
if(user_is_logged_in() && $user->uid === $site_owner_uid)
return true;
$site_owner_uid - id нужного пользователя
У меня не заработало
Вот елси бы было типа этого ....
<?php
user_is_logged_in($uid)
?>
и возвращало true или false
в таблице как раз вошедшие пользователи, оформите в функцию и пользуйтесь