예제 #1
0
 /**
  * Gets the user token from session if it exists or create+store
  * it in session.
  *
  * @return string|null
  */
 public static function getToken()
 {
     if (eZSession::issetkey(self::SESSION_KEY)) {
         return eZSession::get(self::SESSION_KEY);
     }
     $token = md5(uniqid(self::SESSION_KEY, true));
     eZSession::set(self::SESSION_KEY, $token);
     return $token;
 }
예제 #2
0
 function checkUser(&$siteBasics, $uri)
 {
     $http = eZHTTPTool::instance();
     $check = array("module" => "user", "function" => "login");
     if (eZSession::issetkey('eZUserLoggedInID', false) && $http->sessionVariable("eZUserLoggedInID") != '' && $http->sessionVariable("eZUserLoggedInID") != self::anonymousId()) {
         $currentUser = eZUser::currentUser();
         if (!$currentUser->isEnabled()) {
             eZUser::logoutCurrent();
             $currentUser = eZUser::currentUser();
         } else {
             return null;
         }
     }
     $ini = eZINI::instance();
     $moduleName = $uri->element();
     $viewName = $uri->element(1);
     $anonymousAccessList = $ini->variable("SiteAccessSettings", "AnonymousAccessList");
     foreach ($anonymousAccessList as $anonymousAccess) {
         $elements = explode('/', $anonymousAccess);
         if (!isset($elements[1])) {
             if ($moduleName == $elements[0]) {
                 return null;
             }
         } else {
             if ($moduleName == $elements[0] and $viewName == $elements[1]) {
                 return null;
             }
         }
     }
     return $check;
 }
예제 #3
0
 /**
  * Check if session variable $name exists
  *
  * @param string $name
  * @param bool $forceStart Force session start if true (default)
  * @return bool|null Null if session has not started and $forceStart is false
  */
 function hasSessionVariable($name, $forceStart = true)
 {
     return eZSession::issetkey($name, $forceStart);
 }