36class Legacy_ActionFrame
38 public $mActionName =
null;
39 public $mAction =
null;
40 public $mAdminFlag =
null;
53 public $mCreateAction =
null;
55 public function Legacy_ActionFrame($admin)
57 self::__construct($admin);
60 public function __construct($admin)
62 $this->mAdminFlag = $admin;
64 $this->mCreateAction->register(
'Legacy_ActionFrame.CreateAction');
65 $this->mCreateAction->add([&$this,
'_createAction']);
68 public function setActionName($name)
70 $this->mActionName = $name;
75 $root =& XCube_Root::getSingleton();
76 $root->mContext->setAttribute(
'actionName', $name);
77 $root->mContext->mModule->setAttribute(
'actionName', $name);
90 public function _createAction(&$actionFrame)
92 if (is_object($actionFrame->mAction)) {
99 $className =
'Legacy_' . ucfirst($actionFrame->mActionName) .
'Action';
100 $fileName = ucfirst($actionFrame->mActionName) .
'Action';
101 if ($actionFrame->mAdminFlag) {
102 $fileName = XOOPS_MODULE_PATH .
"/legacy/admin/actions/{$fileName}.class.php";
104 $fileName = XOOPS_MODULE_PATH .
"/legacy/actions/{$fileName}.class.php";
107 if (!file_exists($fileName)) {
111 require_once $fileName;
113 if (XC_CLASS_EXISTS($className)) {
114 $actionFrame->mAction =
new $className($actionFrame->mAdminFlag);
118 public function execute(&$controller)
120 if (strlen($this->mActionName) > 0 && !preg_match(
"/^\w+$/", $this->mActionName)) {
128 if (!$this->mAdminFlag) {
129 $controller->mRoot->mLanguageManager->loadModuleMessageCatalog(
'legacy');
135 $this->setActionName($this->mMode . $this->mActionName);
140 $this->mCreateAction->call(
new XCube_Ref($this));
142 if (!(is_object($this->mAction) && $this->mAction instanceof \Legacy_Action)) {
146 if ($this->mAction->prepare($controller, $controller->mRoot->mContext->mXoopsUser) ===
false) {
150 if (!$this->mAction->hasPermission($controller, $controller->mRoot->mContext->mXoopsUser)) {
151 if ($this->mAdminFlag) {
152 $controller->executeForward(XOOPS_URL .
'/admin.php');
154 $controller->executeForward(XOOPS_URL);
158 if (
'POST' == xoops_getenv(
'REQUEST_METHOD')) {
159 $viewStatus = $this->mAction->execute($controller, $controller->mRoot->mContext->mXoopsUser);
161 $viewStatus = $this->mAction->getDefaultView($controller, $controller->mRoot->mContext->mXoopsUser);
164 switch ($viewStatus) {
165 case LEGACY_FRAME_VIEW_SUCCESS:
166 $this->mAction->executeViewSuccess($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
169 case LEGACY_FRAME_VIEW_ERROR:
170 $this->mAction->executeViewError($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
173 case LEGACY_FRAME_VIEW_INDEX:
174 $this->mAction->executeViewIndex($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
177 case LEGACY_FRAME_VIEW_INPUT:
178 $this->mAction->executeViewInput($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
181 case LEGACY_FRAME_VIEW_PREVIEW:
182 $this->mAction->executeViewPreview($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
185 case LEGACY_FRAME_VIEW_CANCEL:
186 $this->mAction->executeViewCancel($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
200 public function Legacy_Action($adminFlag =
false)
202 self::__construct($adminFlag);
205 public function __construct($adminFlag =
false)
207 $this->_mAdminFlag = $adminFlag;
210 public function hasPermission(&$controller, &$xoopsUser)
212 if ($this->_mAdminFlag) {
213 return $controller->mRoot->mContext->mUser->isInRole(
'Module.legacy.Admin');
222 public function prepare(&$controller, &$xoopsUser)
226 public function getDefaultView(&$controller, &$xoopsUser)
228 return LEGACY_FRAME_VIEW_NONE;
231 public function execute(&$controller, &$xoopsUser)
233 return LEGACY_FRAME_VIEW_NONE;
236 public function executeViewSuccess(&$controller, &$xoopsUser, &$render)
240 public function executeViewError(&$controller, &$xoopsUser, &$render)
244 public function executeViewIndex(&$controller, &$xoopsUser, &$render)
248 public function executeViewInput(&$controller, &$xoopsUser, &$render)
252 public function executeViewPreview(&$controller, &$xoopsUser, &$render)
256 public function executeViewCancel(&$controller, &$xoopsUser, &$render)