Вывод пользователей сайта, авторизованных OnLine

Модератор
#
Вывод пользователей сайта, авторизованных OnLine
Получение списка пользователей сайта, авторизованных OnLine. В массиве $aActiveSiteUsers будет содержаться список пользователей, ключ - идентификатор пользователя сайта, значение - время последней активности.

Выборка ведется для всех сайтов системы, отделение пользователей только текущего сайта можно реализовать после получения информации о пользователе и проверки принадлежности его определенному сайту.

<?php

$DataBase = & singleton('DataBase');
$result = $DataBase->select("SELECT * FROM `session_table`");

function unserializesession($data)
{
   $vars=preg_split('/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff^|]*)\|/', $data, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
        
   for($i=0; isset($vars[$i]); $i++)
   {
      $result[$vars[$i++]] = unserialize($vars[$i]);
   }
   
   return $result;
}

// Время, в течение которого пользователь должен был быть активен
$time_activity = 60 * 60 * 24;

$aActiveSiteUsers = array();

while($row = mysql_fetch_assoc($result))
{
   $value = unserializesession($row['session_value']);

   if (isset($value['site_user_id']) && $row['session_expire'] > time() - $time_activity)
   {
      $aActiveSiteUsers[$value['site_user_id']] = $row['session_expire'];
   }
}

print_r($aActiveSiteUsers);
?>
#
Re: Вывод пользователей сайта, авторизованных OnLine
Вывело мне

Array ( [274] => 1272043158 [592] => 1272050226 [477] => 1272078515 [436] => 1272090852 [334] => 1272092087 [679] => 1272043372 [960] => 1272077727 [515] => 1272048024 [1036] => 1272081024 [899] => 1272112183 [1038] => 1272112965 [847] => 1272115084 [460] => 1272114403 [292] => 1272107977 [814] => 1272068560 [974] => 1272045331 [1033] => 1272041404 [1030] => 1272049626 )

И что с этим делать? Я так понял, что в квадратных скобках это id пользователя. И как заставить отобразить ФИО или логин, аватар и т.д. Желательно только авторизованным пользователям.
Не стыдно что-либо не знать или не понимать. Стыдно бояться спросить.
Модератор
#
Re: Вывод пользователей сайта, авторизованных OnLine
sivruk, в первом сообщении все написано
HostCMS писал(а):
В массиве $aActiveSiteUsers будет содержаться список пользователей, ключ — идентификатор пользователя сайта, значение — время последней активности.

Выборка ведется для всех сайтов системы, отделение пользователей только текущего сайта можно реализовать после получения информации о пользователе и проверки принадлежности его определенному сайту.

Теперь можете извлекать информацию о пользователях и выводить что хотите. Можно построить XML и написать XSL.
#
Re: Вывод пользователей сайта, авторизованных OnLine
Пишет
Parse error: syntax error, unexpected '&' in /home/host***6/*****.ru/htdocs/www/data_templates/10.htm  on line 24
Модератор
#
Re: Вывод пользователей сайта, авторизованных OnLine
Asad,
Проверьте еще раз правильность копирования кода, он однозначно рабочий.
Модератор
#
Re: Вывод пользователей сайта, авторизованных OnLine
Аналогичный пример для HostCMS 6
#
Re: Вывод пользователей сайта, авторизованных OnLine
Asad,
скорее всего виноват символ &nbsp, вставленный браузером Mozilla. Она очень любит это делать незаметно.
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
Авторизация