コード例 #1
0
ファイル: IndexController.php プロジェクト: bjtenao/tudu-web
 public function init()
 {
     $this->bootstrap = $this->getInvokeArg('bootstrap');
     $this->options = $this->bootstrap->getOptions();
     $this->_host = $this->_request->getServer('HTTP_HOST');
     if (Zend_Session::sessionExists()) {
         if (!$this->session) {
             $singleton = !empty($this->options['unittest']) ? false : true;
             $this->session = new Zend_Session_Namespace(self::SESSION_NAMESPACE, $singleton);
         }
         $this->_sessionId = Zend_Session::getId();
         do {
             // 登陆信息验证
             $names = $this->options['cookies'];
             if (!isset($this->session->auth) || !$this->_request->getCookie($names['username'])) {
                 break;
             }
             //var_dump($this->_request->getCookie($names['email']));exit();
             if ($this->session->auth['username'] != $this->_request->getCookie($names['username'])) {
                 break;
             }
             $this->session->auth['lasttime'] = time();
             $this->_user = Tudu_User::getInstance();
             $this->_user->init($this->session->auth);
         } while (false);
     } else {
         $authId = $this->_request->getCookie($this->options['cookies']['auth']);
         if (!empty($authId)) {
             $referer = PROTOCOL . '//' . $this->_request->getServer('HTTP_HOST') . '/frame';
             return $this->_redirect($this->options['sites']['www'] . '/login/auto?referer=' . urlencode($referer));
         }
     }
 }
コード例 #2
0
 /**
  * Called before Zend_Controller_Front enters its dispatch loop.
  *
  * @param  Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $moduleName = $request->getModuleName();
     if (empty($moduleName)) {
         $moduleName = 'default';
     }
     $front = Zend_Controller_Front::getInstance();
     $moduleDir = $front->getModuleDirectory($moduleName);
     if (empty($moduleDir)) {
         $moduleDir = APPLICATION_PATH;
     }
     defined('MODULE_PATH') || define('MODULE_PATH', getenv('MODULE_PATH') ? getenv('MODULE_PATH') : $moduleDir);
     defined('MODULE_NAME') || define('MODULE_NAME', getenv('MODULE_NAME') ? getenv('MODULE_NAME') : $moduleName);
     $this->_autoloader = new Zend_Application_Module_Autoloader(array('namespace' => $moduleName, 'basePath' => $moduleDir));
     $this->_bootstrap = $front->getParam('bootstrap');
     $globalOptions = $this->_bootstrap->getOptions();
     $options = array();
     if (isset($globalOptions['default'])) {
         $options = $globalOptions['default'];
     }
     if (isset($globalOptions[$moduleName])) {
         $options = $this->_bootstrap->mergeOptions($options, $globalOptions[$moduleName]);
     }
     $applicationFile = $moduleDir . DIRECTORY_SEPARATOR . self::MODULE_APPLICATION_INI;
     if (isset($globalOptions['application_file'])) {
         $applicationFile = $moduleDir . DIRECTORY_SEPARATOR . $globalOptions['application_file'];
     }
     $options = $this->_bootstrap->mergeOptions($options, $this->_loadConfig($applicationFile));
     if (isset($globalOptions['disable'])) {
         $options = $this->unsetOptions($options, $globalOptions['disable']);
     }
     $this->_bootstrap->setOptions($options);
     $this->_bootstrap->bootstrap();
 }
コード例 #3
0
 protected function _initView()
 {
     Zend_Layout::startMvc(array('layoutPath' => APPLICATION_PATH . '/views/scripts/layouts/', 'layout' => 'layouts/layout'));
     $layout = Zend_Layout::getMvcInstance();
     $view = $layout->getView();
     $view->addHelperPath(APPLICATION_PATH . '/views/helpers');
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
     $viewRenderer->setViewSuffix('phtml');
     $viewRenderer->setView($view);
     $view->setEncoding('UTF-8');
     $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
     $config = parent::getOptions();
     $view->headTitle($config['system']['title']);
     $view->doctype('XHTML1_STRICT');
     return $view;
 }