Example #1
0
 /**
  * 前置过滤方法
  *
  * @param KISS_Framework_Context $context 上下文对象
  *
  * @return void
  */
 public function doPreProcessing(KISS_Framework_Context $context)
 {
     KISS_Application::sessionStart();
     if (isset($_SESSION['Context'])) {
         $context->mStorage = $_SESSION['Context'];
     }
 }
Example #2
0
 /**
  * session 初始化
  *
  * @return void
  */
 public static function sessionStart()
 {
     if (self::OFF == self::$session_status) {
         session_name(self::getUniqueAppName());
         session_start();
         self::$session_status = self::ON;
     }
 }
Example #3
0
 /**
  * 前置过滤方法
  *
  * @param KISS_Framework_Context $context 上下文对象
  *
  * @return void
  */
 public function doPreProcessing($context)
 {
     KISS_Application::sessionStart();
     if (class_exists('User')) {
         if (empty($_SESSION['currentUser'])) {
             $_SESSION['currentUser'] = new User();
         }
     }
     $context->mCurrentUser = $_SESSION['currentUser'];
     parent::doPreProcessing($context);
 }
Example #4
0
 /**
  * 构造函数
  *
  */
 function __construct()
 {
     if ('cli' == php_sapi_name()) {
         $this->_innerController = new KISS_Controller_Cli();
     } else {
         $application = KISS_Framework_Config::getValue('//application');
         session_name(strtoupper(substr(MD5(KISS_Framework_Config::getSystemPath('root')), 0, 8)));
         if (isset($application['session'])) {
             switch ($application['session']) {
                 case 'disable':
                     break;
                 case 'memcache':
                     $memcache = KISS_Framework_Config::getValue('/application/memcache');
                     if (!isset($memcache['host']) || !isset($memcache['port'])) {
                         die('没有配置 memcache 参数!');
                     }
                     session_save_path("tcp://{$memcache['host']}:{$memcache['port']}?persistent=1&weight=1&timeout=1&retry_interval=5");
                     session_module_name('memcache');
                     KISS_Application::sessionStart();
                     break;
                 case 'redis':
                     $server = KISS_Framework_Config::getValue('/application/session_redis');
                     if (!isset($server['host']) || !isset($server['port'])) {
                         die('没有配置 memcache 参数!');
                     }
                     session_save_path("tcp://{$server['host']}:{$server['port']}?persistent=1&weight=1&timeout=1&database={$server['database']}");
                     session_module_name('redis');
                     KISS_Application::sessionStart();
                     break;
                 default:
                     KISS_Application::sessionStart();
                     break;
             }
         } else {
             KISS_Application::sessionStart();
         }
         if (isset($_SERVER['HTTP_KISS_RPC']) && in_array($_SERVER['HTTP_KISS_RPC'], array('JSON')) && class_exists('KISS_Controller_' . $_SERVER['HTTP_KISS_RPC'])) {
             $Controller = 'KISS_Controller_' . $_SERVER['HTTP_KISS_RPC'];
         }
         if (strpos($_SERVER['PHP_SELF'], '/WEB-INF/') !== false) {
             $_SERVER['PHP_SELF'] = $_SERVER['DOCUMENT_URI'];
         }
         preg_match("/^(_([^_]+)_){0,1}([^\\/]*?)(\\.|\$)/i", basename($_SERVER['PHP_SELF']), $matches);
         if (!isset($Controller)) {
             $Controller = "KISS_Controller_{$matches[2]}";
         }
         if ($Controller == 'KISS_Controller_' || !class_exists($Controller)) {
             $Controller = "KISS_Controller_Brower";
         }
         $class_name = implode('_', array_map('ucfirst', explode('_', $matches[3])));
         $this->_innerController = new $Controller($class_name);
     }
     $this->_innerController->run();
 }
Example #5
0
 /**
  * 前置过滤方法
  *
  * @param KISS_Framework_Context $context 上下文对象
  *
  * @return void
  */
 public function doPreProcessing(KISS_Framework_Context $context)
 {
     $this->_mCookieName = KISS_Application::getUniqueAppName();
     $temp_str = '';
     if (!empty($_COOKIE[$this->_mCookieName])) {
         for ($i = 0; $i < intval($_COOKIE[$this->_mCookieName]); $i++) {
             if (empty($_COOKIE[$this->_mCookieName . '_' . $i])) {
                 break;
             }
             $temp_str .= KISS_Util_Util::decrypt($_COOKIE[$this->_mCookieName . '_' . $i]);
         }
         $context->reBuild($temp_str);
     }
 }