/** * Возвращает полную информацию о пользователе включая ранг, картинку ранга, статус онлайн, имя файла аватара для вывода. Вся информация кэшируется. * @param $user_id * @return array|bool */ function GetUserInfo($user_id) { $system_users_cache = GetUsers(); if (isset($system_users_cache[$user_id])) { $usr = $system_users_cache[$user_id]; // Аватар $usr['avatar_file'] = GetUserAvatar($user_id); $usr['avatar_file_small'] = GetSmallUserAvatar($user_id, $usr['avatar_file']); $usr['avatar_file_smallest'] = GetSmallestUserAvatar($user_id, $usr['avatar_file']); // Ранг $rank = GetUserRank($usr['points'], $usr['type'], $usr['access']); $usr['rank_name'] = $rank[0]; $usr['rank_image'] = $rank[1]; // Статус онлайн $online = System::user()->Online(); $usr['online'] = isset($online[$user_id]); // Индивидуальные настройки if (!is_array($usr['data'])) { if ($usr['data'] == '') { $usr['data'] = array(); } else { $system_users_cache[$user_id]['data'] = unserialize($usr['data']); $usr['data'] = $system_users_cache[$user_id]['data']; } } return $usr; } else { return false; } }
function IndexUserlist() { System::site()->SetTitle('Список пользователей'); System::site()->BreadCrumbAdd('Список пользователей'); $page = 0; if (isset($_GET['page'])) { $page = SafeEnv($_GET['page'], 11, int); } else { $page = 1; } $users = System::database()->Select('users', "`active`='1'"); SortArray($users, 'points', true); // regdate SortArray($users, 'type', false); // type $num = System::config('user/users_on_page'); $navigation = new Navigation($page); $navigation->FrendlyUrl = System::site()->Ufu; $navigation->GenNavigationMenu($users, $num, Ufu('index.php?name=user&op=userslist', 'user/users/page{page}/', true)); System::site()->AddTemplatedBox('Список пользователей', 'module/user_list.html'); System::site()->AddBlock('userlist_th', true, false, 'title'); System::site()->Blocks['userlist_th']['vars'] = array('name' => 'Имя', 'email' => 'E-mail', 'date' => 'Дата регистрации', 'last_visit' => 'Посл. посещение', 'last' => 'Посл. посещение', 'rank' => 'Ранг/статус'); System::site()->AddBlock('userlist', true, true, 'user'); foreach ($users as $usr) { $vars = array(); $rank_stat = GetUserRank($usr['points'], $usr['type'], $usr['access']); $rank_stat = $rank_stat[0]; $vars['avatar'] = GetUserAvatar($usr['id']); $vars['avatar_small'] = GetSmallUserAvatar($usr['id'], $vars['avatar']); $vars['avatar_smallest'] = GetSmallestUserAvatar($usr['id'], $vars['avatar']); $vars['user_id'] = SafeDB($usr['id'], 11, int); $vars['url'] = Ufu('index.php?name=user&op=userinfo&user='******'id'], 11, int), 'user/{user}/info/'); $vars['name'] = SafeDB($usr['name'], 50, str); if ($usr['hideemail'] == '1') { $vars['email'] = 'Скрывается'; } else { $vars['email'] = SafeDB($usr['email'], 50, str); } $vars['date'] = TimeRender($usr['regdate'], true); $vars['lastdate'] = TimeRender($usr['lastvisit'], true); $vars['rank'] = $rank_stat; System::site()->AddSubBlock('userlist', true, $vars); } }
public function UpdateAvatarData($user_id) { $avatar = GetUserAvatar($user_id); $this->Def('u_avatar', $avatar); $this->Def('u_avatar_small', GetSmallUserAvatar($user_id, $avatar)); $this->Def('u_avatar_smallest', GetSmallestUserAvatar($user_id, $avatar)); }