Exemplo n.º 1
0
 /**
  * Returns instance of session object. If session id is not defined, 
  * the {@link find} method will be called.
  *
  * Use it to get current session.
  *
  * @return   SessionBase
  */
 public static function getInstance()
 {
     //always initialized first by the Boot.php
     if (is_null(self::$instance)) {
         throw new SessionException("Session subsystem wasn't initialized in proper way. Check session.enabled config variable.");
     }
     if (self::$instance->getId() === null) {
         self::$instance->find();
     }
     //may return null in case if session_enbaled is false
     return self::$instance;
 }
Exemplo n.º 2
0
 /**
  * Bootstrap Running Component
  *
  * @param integer $rc, Running Component, 
  *       optional value: RC_NONE,RC_DATABASE,RC_MEMCACHE,RC_SESSION,RC_ALL
  *       or: RC_DATABASE | RC_MEMCACHE | RC_SESSION
  *       or: RC_ALL ^ RC_MEMCACHE ^ RC_SESSION
  *       or: RC_ALL & ~RC_MEMCACHE & ~RC_SESSION
  * @return SimPHP
  */
 public function boot($rc = RC_NONE)
 {
     if ($rc > 0) {
         //$rc_set = [RC_NONE,RC_DATABASE,RC_MEMCACHE,RC_SESSION,RC_ALL];
         if ((RC_DATABASE & $rc) === RC_DATABASE) {
             //Bootstrap with db
             D();
         }
         if ((RC_MEMCACHE & $rc) === RC_MEMCACHE) {
             //Bootstrap with memcache
             M();
         }
         if ((RC_SESSION & $rc) === RC_SESSION) {
             //Bootstrap with session
             $GLOBALS['user'] = new stdClass();
             SessionBase::anonymous_user($GLOBALS['user']);
             $sessnode = $this->sessnode;
             $sess_handler = Config::get("storage.session.{$sessnode}.handler", 'file');
             if ('mm' == $sess_handler) {
                 self::$session = new SessionMM($sessnode);
             } elseif ('db' == $sess_handler) {
                 self::$session = new SessionDB($sessnode);
             } else {
                 // default to file session
                 session_start();
             }
         }
     }
     return $this;
 }