Beispiel #1
0
 /**
  * Lists all users logged from the specified IP
  *
  * @return XenForo_ControllerResponse_Abstract
  */
 public function actionIpUsers()
 {
     $ip = $this->_input->filterSingle('ip', XenForo_Input::STRING);
     $fetchOptions = array('join' => XenForo_Model_User::FETCH_USER_PROFILE);
     $ipDetails = XenForo_Helper_Ip::parseIpRangeString($ip);
     if (!$ipDetails) {
         return $this->responseMessage(new XenForo_Phrase('please_enter_valid_ip_or_ip_range'));
     } else {
         if ($ipDetails['isRange']) {
             $users = $this->_getUserModel()->getUsersByIpRange($ipDetails['startRange'], $ipDetails['endRange'], $fetchOptions);
         } else {
             $users = $this->_getUserModel()->getUsersByIp($ip, $fetchOptions);
         }
     }
     if ($users) {
         $viewParams = array('users' => $users, 'ip' => $ip, 'ipPrintable' => $ipDetails['printable']);
         return $this->responseView('XenForo_ViewAdmin_Users_IpUsers', 'ip_users', $viewParams);
     } else {
         return $this->responseMessage(new XenForo_Phrase('no_users_logged_at_ip'));
     }
 }
Beispiel #2
0
 protected function _getIpRecord($ip)
 {
     $results = XenForo_Helper_Ip::parseIpRangeString($ip);
     if (!$results) {
         throw new XenForo_Exception(new XenForo_Phrase('please_enter_valid_ip_or_ip_range'), true);
     }
     return array($results['printable'], $results['binary'][0], $results['startRange'], $results['endRange']);
 }