예제 #1
0
 /**
  * Start() - Start the session.
  *
  * @return void
  */
 public static function start()
 {
     // make sure our default options (at the least) have been set
     if (!self::$_default_options_set) {
         self::setOptions();
     }
     if (headers_sent($filename, $linenum) && self::$debug_mode !== true) {
         throw new Zend_Session_Exception(__CLASS__ . '::start() You must call this method before any output has been sent to the browser; output started in {$filename}/{$linenum}');
     }
     if (isset($_COOKIE['REMEMBERME']) && $_COOKIE['REMEMBERME'] == 'true') {
         self::_processRememberMe();
     }
     if (self::$_session_started) {
         throw new Zend_Session_Exception(__CLASS__ . '::start() can only be called once.');
     }
     session_start();
     self::$_session_started = true;
     // run validators if they exist
     if (isset($_SESSION['__ZF']['VALID'])) {
         self::_processValidators();
     }
     if (self::$_log_level == 3) {
         Zend_Log::log('Session startup values before processing:', Zend_Log::LEVEL_DEBUG);
         Zend_Log::log(var_export($_SESSION, true));
     }
     self::_processStartupMetadataGlobal();
     if (self::$_log_level == 3) {
         Zend_Log::log('Session startup values after processing:', Zend_Log::LEVEL_DEBUG);
         Zend_Log::log(var_export($_SESSION, true));
     }
     return;
 }