Exemple #1
0
 /**
  *  Ethna_Sessionクラスのコンストラクタ
  *
  *  @access public
  *  @param  string  $appid      アプリケーションID(セッション名として使用)
  *  @param  string  $save_dir   セッションデータを保存するディレクトリ
  */
 public function __construct($ctl, $appid)
 {
     $this->ctl = $ctl;
     $this->logger = $this->ctl->getLogger();
     $config = $this->ctl->getConfig()->get('session');
     if ($config) {
         $this->config = array_merge($this->config, $config);
     }
     $this->session_save_dir = $this->config['path'];
     if (($dir = $this->ctl->getDirectory($this->config['path'])) !== null) {
         $this->session_save_dir = $dir;
     }
     $this->session_name = $appid . $this->config['suffix'];
     // set session handler
     ini_set('session.save_handler', $this->config['handler']);
     session_save_path($this->session_save_dir);
     session_name($this->session_name);
     session_cache_limiter($this->config['cache_limiter']);
     session_cache_expire($this->config['cache_expire']);
     $this->session_start = false;
     if (isset($_SERVER['REQUEST_METHOD']) == false) {
         return;
     }
     if (strcasecmp($_SERVER['REQUEST_METHOD'], 'post') == 0) {
         $http_vars = $_POST;
     } else {
         $http_vars = $_GET;
     }
     if (array_key_exists($this->session_name, $http_vars) && $http_vars[$this->session_name] != null) {
         $_COOKIE[$this->session_name] = $http_vars[$this->session_name];
     }
 }
Exemple #2
0
 /**
  *  Ethna_Rendererクラスのコンストラクタ
  *
  *  @access public
  */
 public function __construct($controller)
 {
     $this->controller = $controller;
     $this->ctl = $this->controller;
     $this->engine = null;
     $this->template = null;
     $this->prop = array();
     $this->plugin_registry = array();
     $template_dir = $controller->getTemplatedir();
     $this->template_dir = $template_dir;
     // load configuration
     $config = $this->ctl->getConfig();
     $renderer_config = $config->get('renderer');
     $this->config = $this->mergeConfig($this->config_default, isset($renderer_config[$this->getName()]) ? $renderer_config[$this->getName()] : array());
     $this->logger = $this->controller->getBackend()->getLogger();
 }
Exemple #3
0
 public function setup()
 {
     parent::setup();
     $this->controller = $this->prophesize("Ethna_Controller");
     $this->config = $this->prophesize("Ethna_Config");
     $this->i18n = $this->prophesize("Ethna_I18N");
     $this->action_error = $this->prophesize("Ethna_ActionError");
     $this->action_form = $this->prophesize("Ethna_ActionForm");
     $this->action_class = $this->prophesize("Ethna_ActionClass");
     $this->session = $this->prophesize("Ethna_Session");
     $this->plugin = $this->prophesize("Ethna_Plugin");
     $this->logger = $this->prophesize("Ethna_Logger");
     $this->class_factory = $this->prophesize("Ethna_ClassFactory");
     $this->controller->getClassFactory()->willReturn($this->class_factory);
     $this->controller->getConfig()->willReturn($this->config);
     $this->controller->getI18N()->willReturn($this->i18n);
     $this->controller->getActionError()->willReturn($this->action_error);
     $this->controller->getActionForm()->willReturn($this->action_form);
     $this->controller->getSession()->willReturn($this->session);
     $this->controller->getPlugin()->willReturn($this->plugin);
     $this->controller->getLogger()->willReturn($this->logger);
 }