21 public $mActionName =
null;
22 public $mAction =
null;
23 public $mAdminFlag =
null;
28 public $mCreateAction =
null;
29 public function __construct($admin)
31 $this->mAdminFlag = $admin;
33 $this->mCreateAction->register(
'LegacyRender_ActionFrame.CreateAction');
34 $this->mCreateAction->add([&$this,
'_createAction']);
37 public function setActionName($name)
39 $this->mActionName = $name;
44 $root =& XCube_Root::getSingleton();
45 $root->mContext->setAttribute(
'actionName', $name);
46 $root->mContext->mModule->setAttribute(
'actionName', $name);
49 public function _createAction(&$actionFrame)
51 if (is_object($actionFrame->mAction)) {
58 $className =
'LegacyRender_' . ucfirst($actionFrame->mActionName) .
'Action';
59 $fileName = ucfirst($actionFrame->mActionName) .
'Action';
60 if ($actionFrame->mAdminFlag) {
61 $fileName = XOOPS_MODULE_PATH .
"/legacyRender/admin/actions/{$fileName}.class.php";
63 $fileName = XOOPS_MODULE_PATH .
"/legacyRender/actions/{$fileName}.class.php";
66 if (!file_exists($fileName)) {
70 require_once $fileName;
72 if (XC_CLASS_EXISTS($className)) {
73 $actionFrame->mAction =
new $className($actionFrame->mAdminFlag);
77 public function execute(&$controller)
79 if (!preg_match(
"/^\w+$/", $this->mActionName)) {
86 $this->mCreateAction->call(
new XCube_Ref($this));
92 $handler =& xoops_gethandler(
'config');
93 $moduleConfig =& $handler->getConfigsByDirname(
'legacyRender');
95 $this->mAction->prepare($controller, $controller->mRoot->mContext->mXoopsUser, $moduleConfig);
97 if (!$this->mAction->hasPermission($controller, $controller->mRoot->mContext->mXoopsUser)) {
98 if ($this->mAdminFlag) {
99 $controller->executeForward(XOOPS_URL .
'/admin.php');
101 $controller->executeForward(XOOPS_URL);
105 if (
'POST' == xoops_getenv(
'REQUEST_METHOD')) {
106 $viewStatus = $this->mAction->execute($controller, $controller->mRoot->mContext->mXoopsUser);
108 $viewStatus = $this->mAction->getDefaultView($controller, $controller->mRoot->mContext->mXoopsUser);
111 switch ($viewStatus) {
112 case LEGACYRENDER_FRAME_VIEW_SUCCESS:
113 $this->mAction->executeViewSuccess($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
116 case LEGACYRENDER_FRAME_VIEW_ERROR:
117 $this->mAction->executeViewError($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
120 case LEGACYRENDER_FRAME_VIEW_INDEX:
121 $this->mAction->executeViewIndex($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
124 case LEGACYRENDER_FRAME_VIEW_INPUT:
125 $this->mAction->executeViewInput($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
128 case LEGACYRENDER_FRAME_VIEW_PREVIEW:
129 $this->mAction->executeViewPreview($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
132 case LEGACYRENDER_FRAME_VIEW_CANCEL:
133 $this->mAction->executeViewCancel($controller, $controller->mRoot->mContext->mXoopsUser, $controller->mRoot->mContext->mModule->getRenderTarget());
146 public function __construct($adminFlag =
false)
148 $this->_mAdminFlag = $adminFlag;
151 public function hasPermission(&$controller, &$xoopsUser)
156 public function prepare(&$controller, &$xoopsUser, $moduleConfig)
160 public function getDefaultView(&$controller, &$xoopsUser)
162 return LEGACYRENDER_FRAME_VIEW_NONE;
165 public function execute(&$controller, &$xoopsUser)
167 return LEGACYRENDER_FRAME_VIEW_NONE;
170 public function executeViewSuccess(&$controller, &$xoopsUser, &$render)
174 public function executeViewError(&$controller, &$xoopsUser, &$render)
178 public function executeViewIndex(&$controller, &$xoopsUser, &$render)
182 public function executeViewInput(&$controller, &$xoopsUser, &$render)
186 public function executeViewPreview(&$controller, &$xoopsUser, &$render)
190 public function executeViewCancel(&$controller, &$xoopsUser, &$render)