/** * 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]; } }
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); }
/** * 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(); }
/** * 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(); }
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); }