Beispiel #1
0
 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;
 }