Index: branches/5.2.x/core/units/helpers/category_helper.php =================================================================== diff -u -N -r14092 -r14095 --- branches/5.2.x/core/units/helpers/category_helper.php (.../category_helper.php) (revision 14092) +++ branches/5.2.x/core/units/helpers/category_helper.php (.../category_helper.php) (revision 14095) @@ -1,6 +1,6 @@ $category_data) { - $ret = array_merge_recursive2($ret, $this->_printChildren($data['children'][$category_id], $category_id, $language_id, $theme_id, $level)); + // numeric keys + $ret = kUtil::array_merge_recursive($ret, $this->_printChildren($data['children'][$category_id], $category_id, $language_id, $theme_id, $level)); } } @@ -382,18 +383,18 @@ * Returns information about children under parent path (recursive) * * @param int $parent_category_id - * @param int $language_count + * @param Array $languages * @return Array */ - function _getChildren($parent_category_id, $language_count) + function _getChildren($parent_category_id, $languages) { static $items_by_parent = null, $parent_mapping = null; if ( !isset($items_by_parent) ) { $fields = $items_by_parent = Array (); - for ($i = 1; $i <= $language_count; $i++) { - $fields[] = 'l' . $i . '_Name'; + foreach ($languages as $language_id) { + $fields[] = 'l' . $language_id . '_Name'; } $sql = 'SELECT CategoryId AS id, ' . implode(', ', $fields) . ', ParentId, ThemeId @@ -424,7 +425,7 @@ continue; } - $data['children'][$category_id] = $this->_getChildren($category_id, $language_count); + $data['children'][$category_id] = $this->_getChildren($category_id, $languages); } return $data; @@ -455,10 +456,9 @@ $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ - $language_count = $ml_helper->getLanguageCount(); - + $languages = $ml_helper->getLanguages(); $root_category = $this->Application->getBaseCategory(); - $data = $this->_getChildren($root_category, $language_count); + $data = $this->_getChildren($root_category, $languages); if ($this->Application->isCachingType(CACHING_TYPE_MEMORY)) { $this->Application->setCache('master:StructureTree', serialize($data));