/** * バックエンド処理を実行する * * @access public * @param string $action_name 実行するアクションの名称 * @return mixed (string):Forward名(nullならforwardしない) Ethna_Error:エラー */ public function perform($action_name) { $forward_name = null; $action_class_name = $this->controller->getActionClassName($action_name); $this->action_class = new $action_class_name($this); $this->ac = $this->action_class; // アクションの実行 $forward_name = $this->ac->authenticate(); if ($forward_name === false) { return null; } else { if ($forward_name !== null) { return $forward_name; } } $forward_name = $this->ac->prepare(); if ($forward_name === false) { return null; } else { if ($forward_name !== null) { return $forward_name; } } $forward_name = $this->ac->perform(); return $forward_name; }
/** * [breaking B.C.] Ethna_ClassFactory 対応 * */ function Haste_ActionClass(&$backend) { // 親クラス parent::Ethna_ActionClass($backend); // Ethna_AppManagerオブジェクトの設定 $c =& $backend->getController(); $manager_list = $c->getManagerList(); foreach ($manager_list as $k => $v) { $this->{$k} =& $backend->getManager($v); } }
/** * action処理 * * @access public */ function Perform() { parent::Perform(); $_SERVER['REMOTE_ADDR'] = "0.0.0.0"; $_SERVER['HTTP_USER_AGENT'] = ""; }
/** * execute action. * * @access public * @return string Forward name. * (we does not forward if returns null.) */ function perform() { return parent::perform(); }