Ejemplo n.º 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];
     }
 }
Ejemplo n.º 2
0
 public function setup()
 {
     parent::setup();
     $this->controller = $this->prophesize("Ethna_Controller");
     $this->event_dispatcher = $this->prophesize('\\Symfony\\Component\\EventDispatcher\\EventDispatcher');
     $this->backend = $this->prophesize("Ethna_Backend");
     $this->i18n = $this->prophesize("Ethna_I18N");
     $this->action_error = $this->prophesize("Ethna_ActionError");
     $this->plugin = $this->prophesize("Ethna_Plugin");
     $this->logger = $this->prophesize("Ethna_Logger");
     $this->controller->getEventDispatcher()->willReturn($this->event_dispatcher);
     $this->event_dispatcher->dispatch(Argument::type('string'), Argument::any())->will(function ($args, $event) {
         $action_form = $args[1]->getActionForm();
         $target = null;
         if ($_SERVER['REQUEST_METHOD'] == 'GET') {
             $target =& $_GET;
         } else {
             $target = $_POST;
         }
         foreach ($target as $key => $value) {
             $action_form->set($key, $value);
         }
     });
     $this->backend->getController()->willReturn($this->controller);
     $this->controller->getBackend()->willReturn($this->backend);
     $this->controller->getActionError()->willReturn($this->action_error);
     $this->controller->getI18N()->willReturn($this->i18n);
     $this->controller->getLogger()->willReturn($this->logger);
     $this->controller->getPlugin()->willReturn($this->plugin);
 }
Ejemplo n.º 3
0
 /**
  *  Ethna_Filterのコンストラクタ
  *
  *  @access public
  *  @param  object  Ethna_Controller    &$controller    コントローラオブジェクト
  */
 public function __construct(&$controller)
 {
     // オブジェクトの設定
     $this->controller = $controller;
     $this->ctl = $this->controller;
     $this->config = $controller->getConfig();
     $this->logger = $this->controller->getLogger();
 }
Ejemplo n.º 4
0
 /**
  *  Ethna_Backendクラスのコンストラクタ
  *
  *  @access public
  *  @param  object  Ethna_Controller    $controller    コントローラオブジェクト
  */
 public function __construct($controller)
 {
     // オブジェクトの設定
     $this->controller = $controller;
     $this->ctl = $this->controller;
     $this->class_factory = $controller->getClassFactory();
     $this->config = $controller->getConfig();
     $this->i18n = $controller->getI18N();
     $this->action_error = $controller->getActionError();
     $this->ae = $this->action_error;
     $this->action_form = $controller->getActionForm();
     $this->af = $this->action_form;
     $this->action_class = null;
     $this->ac = $this->action_class;
     $this->session = $this->controller->getSession();
     $this->plugin = $this->controller->getPlugin();
     $this->db_list = array();
     $this->logger = $this->controller->getLogger();
 }
Ejemplo n.º 5
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);
 }