From ad8da0915862b0d9dad37aeac426655cd0393002 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 21 Sep 2011 04:35:45 +0000 Subject: [PATCH] issue 160 when new menu add in sitemap. get module list by created module instance git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9247 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/menu/menu.admin.model.php | 28 ++++++++++++++++++++++++++-- modules/menu/tpl/js/sitemap.js | 3 ++- modules/menu/tpl/sitemap.html | 2 +- modules/module/module.model.php | 9 +++++++++ 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/modules/menu/menu.admin.model.php b/modules/menu/menu.admin.model.php index 8b4de46e3..e9749d728 100644 --- a/modules/menu/menu.admin.model.php +++ b/modules/menu/menu.admin.model.php @@ -227,12 +227,36 @@ **/ function getModuleListInSitemap() { - // after trigger + $oModuleModel = &getModel('module'); + $columnList = array('module'); $moduleList = array('page'); + + $output = $oModuleModel->getModuleListByInstance($columnList); + if(is_array($output->data)) + { + foreach($output->data AS $key=>$value) + { + array_push($moduleList, $value->module); + } + } + + // after trigger $output = ModuleHandler::triggerCall('menu.getModuleListInSitemap', 'after', $moduleList); if(!$output->toBool()) return $output; - return $moduleList; + $moduleList = array_unique($moduleList); + + $moduleInfoList = array(); + if(is_array($moduleList)) + { + foreach($moduleList AS $key=>$value) + { + $moduleInfo = $oModuleModel->getModuleInfoXml($value); + $moduleInfoList[$value] = $moduleInfo; + } + } + + return $moduleInfoList; } } ?> diff --git a/modules/menu/tpl/js/sitemap.js b/modules/menu/tpl/js/sitemap.js index 984480c73..7e5c0a8f2 100644 --- a/modules/menu/tpl/js/sitemap.js +++ b/modules/menu/tpl/js/sitemap.js @@ -56,7 +56,8 @@ $('form.siteMap') else { inputCType[1].checked = true; - editForm.find('input[name=select_menu_url]').val(menuItem.url); + editForm.find('select[name=module_type]').val(moduleType); + editForm.find('select[name=select_menu_url]').val(menuItem.url); } typeCheck(); getModuleList(); diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index af404b351..54daad5f3 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -98,7 +98,7 @@ xe.lang.confirm_delete = "{$lang->confirm_delete}";

diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 12632a5d8..963f797ae 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -1514,6 +1514,15 @@ $this->add('results', $list); } + /** + * @brief already instance created module list + **/ + function getModuleListByInstance($columnList = array()) + { + $output = executeQueryArray('module.getModuleListByInstance', $args, $columnList); + return $output; + } + function getLangByLangcode() { $langCode = Context::get('langCode');