issue 1110 add module category in mid list

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10843 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2012-07-06 08:53:22 +00:00
parent fcbf5902db
commit d8c49ddeae
5 changed files with 71 additions and 7 deletions

View file

@ -226,15 +226,36 @@ $('form.siteMap')
if(ret_obj.module_list[module] != undefined)
{
var midList = ret_obj.module_list[module].list;
var midListByCategory = new Object();
for(x in midList)
{
if(!midList.hasOwnProperty(x)){
continue;
}
var midObject = midList[x];
htmlBuffer += '<option value="'+midObject.mid+'"';
if(menuUrl == midObject.mid) htmlBuffer += ' selected ';
htmlBuffer += '>'+midObject.mid+'('+midObject.browser_title+')</option>';
layoutList[midObject.mid] = midObject.layout_srl;
moduleList[midObject.mid] = midObject.module_srl;
if(!midListByCategory[midObject.module_category_srl])
{
midListByCategory[midObject.module_category_srl] = new Array();
}
midListByCategory[midObject.module_category_srl].push(midObject);
}
for(x in midListByCategory)
{
var midGroup = midListByCategory[x];
htmlBuffer += '<optgroup label="'+x+'">'
for(y in midGroup)
{
var midObject = midGroup[y];
htmlBuffer += '<option value="'+midObject.mid+'"';
if(menuUrl == midObject.mid) htmlBuffer += ' selected ';
htmlBuffer += '>'+midObject.mid+'('+midObject.browser_title+')</option>';
layoutList[midObject.mid] = midObject.layout_srl;
moduleList[midObject.mid] = midObject.module_srl;
}
htmlBuffer += '</optgroup>'
}
}
else htmlBuffer = '';

View file

@ -540,6 +540,7 @@
$args->sort_index1 = 'sites.domain';
$moduleCategorySrl = array();
// Get a list of modules at the site
$output = executeQueryArray('module.getSiteModules', $args);
$mid_list = array();
@ -556,16 +557,53 @@
$obj->layout_srl = $val->layout_srl;
$obj->browser_title = $val->browser_title;
$obj->mid = $val->mid;
$obj->module_category_srl = $val->module_category_srl;
if($val->module_category_srl > 0)
{
array_push($moduleCategorySrl, $val->module_category_srl);
}
$mid_list[$module]->list[$val->mid] = $obj;
}
}
// Get module category name
$moduleCategorySrl = array_unique($moduleCategorySrl);
$output = $oModuleModel->getModuleCategories($moduleCategorySrl);
$categoryNameList = array();
if(is_array($output))
{
foreach($output AS $key=>$value)
{
$categoryNameList[$value->module_category_srl] = $value->title;
}
}
$selected_module = Context::get('selected_module');
if(count($mid_list)) {
foreach($mid_list as $module => $val) {
if(!$selected_module) $selected_module = $module;
$xml_info = $oModuleModel->getModuleInfoXml($module);
$mid_list[$module]->title = $xml_info->title;
// change module category srl to title
if(is_array($val->list))
{
foreach($val->list AS $key=>$value)
{
if($value->module_category_srl > 0)
{
$categorySrl = $mid_list[$module]->list[$key]->module_category_srl;
if(isset($categoryNameList[$categorySrl]))
{
$mid_list[$module]->list[$key]->module_category_srl = $categoryNameList[$categorySrl];
}
}
else
{
$mid_list[$module]->list[$key]->module_category_srl = Context::getLang('none_category');
}
}
}
}
}

View file

@ -1017,9 +1017,10 @@
/**
* @brief Get a list of module category
**/
function getModuleCategories() {
function getModuleCategories($moduleCategorySrl = array()) {
$args->moduleCategorySrl = $moduleCategorySrl;
// Get data from the DB
$output = executeQuery('module.getModuleCategories');
$output = executeQuery('module.getModuleCategories', $args);
if(!$output->toBool()) return $output;
$list = $output->data;
if(!$list) return;

View file

@ -2,6 +2,9 @@
<tables>
<table name="module_categories" />
</tables>
<conditions>
<condition operation="in" column="module_category_srl" var="moduleCategorySrl" />
</conditions>
<navigation>
<index var="sort_index" default="title" order="asc" />
</navigation>

View file

@ -7,6 +7,7 @@
<column name="sites.domain" />
<column name="modules.site_srl" />
<column name="modules.module" />
<column name="modules.module_category_srl" />
<column name="modules.layout_srl" />
<column name="modules.mid" />
<column name="modules.browser_title" />