1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: if (!defined('XOOPS_ROOT_PATH')) exit();
12:
13: 14: 15:
16: class Legacy_ModuleInfoAction extends Legacy_Action
17: {
18: 19: 20:
21: var $mModuleObject = null;
22: var $mInstalledFlag = false;
23:
24: function getDefaultView(&$controller, &$xoopsUser)
25: {
26: $dirname = xoops_getrequest('dirname');
27: if (!preg_match("/^[a-zA-Z_][a-zA-Z0-9_]*$/", $dirname)) {
28: return LEGACY_FRAME_VIEW_ERROR;
29: }
30:
31: if (!is_dir(XOOPS_MODULE_PATH . "/" . $dirname)) {
32: return LEGACY_FRAME_VIEW_ERROR;
33: }
34:
35: $moduleHandler =& xoops_gethandler('module');
36: $this->mModuleObject =& $moduleHandler->getByDirname($dirname);
37:
38:
39:
40:
41: if (is_object($this->mModuleObject)) {
42: $this->mModuleObject->loadAdminMenu();
43: $this->mModuleObject->loadInfo($dirname);
44: $this->mInstalledFlag = true;
45: }
46: else {
47: $this->mModuleObject =& $moduleHandler->create();
48: $this->mModuleObject->loadInfoAsVar($dirname);
49: $this->mInstalledFlag = false;
50: }
51:
52: return LEGACY_FRAME_VIEW_SUCCESS;
53: }
54:
55: function executeViewSuccess(&$controller, &$xoopsUser, &$renderer)
56: {
57: $renderer->setTemplateName("module_information.html");
58: $renderer->setAttribute('module', $this->mModuleObject);
59: $renderer->setAttribute('installed', $this->mInstalledFlag);
60: }
61:
62: function executeViewError(&$controller, &$xoopsUser, &$renderer)
63: {
64: $controller->executeRedirect('./index.php?action=ModuleList', 1, _AD_LEGACY_ERROR_MODULE_NOT_FOUND);
65: }
66: }
67:
68: ?>