24 public $_mOptionForm =
null;
26 public function _getId()
28 return isset($_REQUEST[
'bid']) ? xoops_getrequest(
'bid') : 0;
31 public function prepare(&$controller, &$xoopsUser)
33 parent::prepare($controller, $xoopsUser);
34 if (is_object($this->mObject)) {
35 $handler =& xoops_gethandler(
'module');
36 $module =& $handler->get($this->mObject->get(
'mid'));
37 if (is_object($module)) {
38 $controller->mRoot->mLanguageManager->loadModinfoMessageCatalog($module->get(
'dirname'));
39 $controller->mRoot->mLanguageManager->loadModuleAdminMessageCatalog($module->get(
'dirname'));
44 public function isEnableCreate()
49 public function &_getHandler()
51 $handler =& xoops_getmodulehandler(
'newblocks');
55 public function _setupActionForm()
58 $this->mActionForm->prepare();
69 if (is_object($this->mObject)) {
70 return (1 == $this->mObject->get(
'visible'));
76 public function getDefaultView(&$controller, &$xoopsUser)
79 return LEGACY_FRAME_VIEW_ERROR;
82 $this->mObject->loadGroup();
83 $this->mObject->loadBmodule();
85 return parent::getDefaultView($controller, $xoopsUser);
88 public function execute(&$controller, &$xoopsUser)
91 return LEGACY_FRAME_VIEW_ERROR;
94 $ret = parent::execute($controller, $xoopsUser);
96 if (LEGACY_FRAME_VIEW_SUCCESS == $ret) {
100 $handler =& xoops_getmodulehandler(
'block_module_link',
'legacy');
101 $handler->deleteAll(
new Criteria(
'block_id', $this->mObject->get(
'bid')));
102 foreach ($this->mObject->mBmodule as $bmodule) {
106 $bmodule->set(
'block_id', $this->mObject->get(
'bid'));
107 $handler->insert($bmodule);
113 $currentGroupid = [];
114 foreach ($this->mObject->mGroup as $group) {
115 $currentGroupid[] = $group->get(
'groupid');
118 $permHandler =& xoops_gethandler(
'groupperm');
119 $criteria =
new CriteriaCompo();
120 $criteria->add(
new Criteria(
'gperm_modid', 1));
121 $criteria->add(
new Criteria(
'gperm_itemid', $this->mObject->get(
'bid')));
122 $criteria->add(
new Criteria(
'gperm_name',
'block_read'));
124 $gpermArr =& $permHandler->getObjects($criteria);
125 foreach ($gpermArr as $gperm) {
126 if (!in_array($gperm->get(
'gperm_groupid'), $currentGroupid,
true)) {
127 $permHandler->delete($gperm);
131 foreach ($this->mObject->mGroup as $group) {
133 foreach ($gpermArr as $gperm) {
134 if ($gperm->get(
'gperm_groupid') === $group->get(
'groupid')) {
140 $gperm =& $permHandler->create();
141 $gperm->set(
'gperm_modid', 1);
142 $gperm->set(
'gperm_groupid', $group->get(
'groupid'));
143 $gperm->set(
'gperm_itemid', $this->mObject->get(
'bid'));
144 $gperm->set(
'gperm_name',
'block_read');
146 $permHandler->insert($gperm);
154 public function executeViewInput(&$controller, &$xoopsUser, &$render)
157 $render->setTemplateName(
'block_edit.html');
158 $render->setAttribute(
'actionForm', $this->mActionForm);
163 $this->mObject->loadModule();
165 $render->setAttribute(
'object', $this->mObject);
170 $handler =& xoops_gethandler(
'module');
171 $moduleArr[0] =& $handler->create();
172 $moduleArr[0]->set(
'mid', -1);
173 $moduleArr[0]->set(
'name', _AD_LEGACY_LANG_TOPPAGE);
175 $moduleArr[1] =& $handler->create();
176 $moduleArr[1]->set(
'mid', 0);
177 $moduleArr[1]->set(
'name', _AD_LEGACY_LANG_ALL_MODULES);
179 $criteria =
new CriteriaCompo();
180 $criteria->add(
new Criteria(
'hasmain', 1));
181 $criteria->add(
new Criteria(
'isactive', 1));
183 $t_Arr =& $handler->getObjects($criteria);
184 $moduleArr = array_merge($moduleArr, $t_Arr);
185 $render->setAttribute(
'moduleArr', $moduleArr);
187 $handler =& xoops_getmodulehandler(
'columnside');
188 $columnSideArr =& $handler->getObjects();
189 $render->setAttribute(
'columnSideArr', $columnSideArr);
191 $handler =& xoops_gethandler(
'group');
192 $groupArr =& $handler->getObjects();
193 $render->setAttribute(
'groupArr', $groupArr);
198 $handler =& xoops_gethandler(
'cachetime');
199 $cachetimeArr =& $handler->getObjects();
200 $render->setAttribute(
'cachetimeArr', $cachetimeArr);
207 $render->setAttribute(
'optionForm', $this->_mOptionForm);
218 $block =& Legacy_Utils::createBlockProcedure($this->mObject);
219 return $block->_hasVisibleOptionForm();
227 $block =& Legacy_Utils::createBlockProcedure($this->mObject);
228 return $block->getOptionForm();
231 public function executeViewSuccess(&$controller, &$xoopsUser, &$render)
235 if(xoops_getrequest(
'_form_control_save_edit')){
236 $controller->executeForward(
"./index.php?action=CustomBlockEdit&bid=".xoops_getrequest(
'bid'));
238 $controller->executeForward(
"./index.php?action=BlockList");
242 public function executeViewError(&$controller, &$xoopsUser, &$render)
244 $controller->executeRedirect(
'./index.php?action=BlockList', 1, _MD_LEGACY_ERROR_DBUPDATE_FAILED);
247 public function executeViewCancel(&$controller, &$xoopsUser, &$render)
249 $controller->executeForward(
'./index.php?action=BlockList');