NobuNobu
nobun****@users*****
2006年 12月 12日 (火) 23:40:44 JST
Index: xoops2jp/html/modules/legacy/admin/actions/PreferenceEditAction.class.php diff -u xoops2jp/html/modules/legacy/admin/actions/PreferenceEditAction.class.php:1.1.2.4 xoops2jp/html/modules/legacy/admin/actions/PreferenceEditAction.class.php:1.1.2.5 --- xoops2jp/html/modules/legacy/admin/actions/PreferenceEditAction.class.php:1.1.2.4 Fri Nov 17 19:40:50 2006 +++ xoops2jp/html/modules/legacy/admin/actions/PreferenceEditAction.class.php Tue Dec 12 23:40:43 2006 @@ -90,66 +90,92 @@ $render->setAttribute('category', $this->mCategory); $render->setAttribute('module', $this->mModule); - $handler =& xoops_gethandler('timezone'); - $timezoneArr =& $handler->getObjects(); - $render->setAttribute('timezoneArr', $timezoneArr); - - $handler =& xoops_gethandler('group'); - $groupArr =& $handler->getObjects(); - $render->setAttribute('groupArr', $groupArr); + $formtypeArr = array(); + foreach ($this->mObjects as $object) { + $formtypeArr[] = $object->get('conf_formtype'); + } + $formtypeArr = array_unique($formtypeArr); + + // + // Make the array of timezone object + // + if (in_array('timezone', $formtypeArr)) { + $handler =& xoops_gethandler('timezone'); + $timezoneArr =& $handler->getObjects(); + $render->setAttribute('timezoneArr', $timezoneArr); + } + + // + // Make the array of group object + // + if (in_array('group', $formtypeArr)||in_array('group_multi', $formtypeArr)) { + $handler =& xoops_gethandler('group'); + $groupArr =& $handler->getObjects(); + $render->setAttribute('groupArr', $groupArr); + } // // Make the array of tplset object // - $handler =& xoops_gethandler('tplset'); - $tplsetArr =& $handler->getObjects(); - $render->setAttribute('tplsetArr', $tplsetArr); - + if (in_array('tplset', $formtypeArr)) { + $handler =& xoops_gethandler('tplset'); + $tplsetArr =& $handler->getObjects(); + $render->setAttribute('tplsetArr', $tplsetArr); + } + // // Make the list of installed languages. // - $languageArr = array(); - $dirHandler = opendir(XOOPS_ROOT_PATH . "/language/"); - while ($file = readdir($dirHandler)) { - if (is_dir(XOOPS_ROOT_PATH . "/language/" . $file) && preg_match("/^[a-z_]+$/", $file)) { - $languageArr[$file] = $file; - } - } - closedir($dirHandler); - $render->setAttribute('languageArr', $languageArr); - + if (in_array('language', $formtypeArr)) { + $languageArr = array(); + $dirHandler = opendir(XOOPS_ROOT_PATH . "/language/"); + while ($file = readdir($dirHandler)) { + if (is_dir(XOOPS_ROOT_PATH . "/language/" . $file) && preg_match("/^[a-z_]+$/", $file)) { + $languageArr[$file] = $file; + } + } + closedir($dirHandler); + $render->setAttribute('languageArr', $languageArr); + } // // Make the array of module object for selecting startpage. // - $handler =& xoops_gethandler('module'); - $criteria =& new CriteriaCompo(); - $criteria->add(new Criteria('hasmain', 1)); - $criteria->add(new Criteria('isactive', 1)); - $moduleArr = $handler->getObjects($criteria); - $render->setAttribute('moduleArr', $moduleArr); - + if (in_array('startpage', $formtypeArr)||in_array('module_cache', $formtypeArr)) { + $handler =& xoops_gethandler('module'); + $criteria =& new CriteriaCompo(); + $criteria->add(new Criteria('hasmain', 1)); + $criteria->add(new Criteria('isactive', 1)); + $moduleArr = $handler->getObjects($criteria); + $render->setAttribute('moduleArr', $moduleArr); + } // // Make the list of theme. // - $handler =& xoops_getmodulehandler('theme'); - $themeArr =& $handler->getObjects(); - $render->setAttribute('themeArr', $themeArr); - + if (in_array('theme', $formtypeArr)||in_array('theme_multi', $formtypeArr)) { + $handler =& xoops_getmodulehandler('theme'); + $themeArr =& $handler->getObjects(); + $render->setAttribute('themeArr', $themeArr); + } + // // Make the array of cachetime. // - $handler =& xoops_gethandler('cachetime'); - $cachetimeArr = $handler->getObjects(); - $render->setAttribute('cachetimeArr', $cachetimeArr); - + if (in_array('module_cache', $formtypeArr)) { + $handler =& xoops_gethandler('cachetime'); + $cachetimeArr = $handler->getObjects(); + $render->setAttribute('cachetimeArr', $cachetimeArr); + } + // // Make the list of user // - $handler =& xoops_gethandler('member'); - $userArr = $handler->getUserList(); - $render->setAttribute('userArr', $userArr); + if (in_array('user', $formtypeArr)||in_array('user_multi', $formtypeArr)) { + $handler =& xoops_gethandler('member'); + $userArr = $handler->getUserList(); + $render->setAttribute('userArr', $userArr); + } } function executeViewSuccess(&$controller, &$xoopsUser, &$render)