public function refreshUsers($pagekey = '', $who = '', $pagenumber = 1, $perpage = 0, $sortfield = 'time', $sortorder = 'desc', $resolveIp = false, $pageRouteId = null) { $result = array(); $onlineUsers = $this->fetchAll($pagekey, $who, $pagenumber, $perpage, $sortfield, $sortorder, $resolveIp); $showIP = false; foreach ($onlineUsers as $onlineUser) { if (!empty($onlineUser['host'])) { $showIP = true; } } $onlineUserCounts = $this->fetchCounts($pagekey); $totalMembers = $who == 'members' ? $onlineUserCounts['members'] : $onlineUserCounts['total']; $pageRouteInfo = array(); if ($pageRouteId) { $routeInfo = vB5_Route::getRouteByIdent($pageRouteId); $args = @unserialize($routeInfo['arguments']); $pageRouteInfo = array('routeId' => $routeInfo['routeid'], 'arguments' => array('pageid' => $args['pageid'], 'contentid' => $routeInfo['contentid']), 'queryParameters' => array()); } $template = new vB5_Template('onlineuser_details'); $template->register('onlineUsers', $onlineUsers); $template->register('showIP', $showIP); $template->register('totalMembers', $totalMembers); $template->register('pagenumber', $pagenumber); $template->register('perpage', $perpage); $template->register('pageRouteInfo', $pageRouteInfo); $template = $template->render(); $userCounts = $this->fetchCounts($pagekey); $result['template'] = $template; $result['userCounts'] = $userCounts; return $result; }