Index: branches/RC/core/units/admin/admin_tag_processor.php =================================================================== diff -u -N -r11721 -r11724 --- branches/RC/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 11721) +++ branches/RC/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 11724) @@ -150,10 +150,11 @@ } - if (isset($params['parent']) && $params['parent']) { + if (array_key_exists('parent', $params) && $params['parent']) { do { - $section_data =& $sections_helper->getSectionData($section_data['parent']); - } while (isset($section_data['use_parent_header']) && $section_data['use_parent_header']); + $section = $section_data['parent']; + $section_data =& $sections_helper->getSectionData($section); + } while (array_key_exists('use_parent_header', $section_data) && $section_data['use_parent_header']); } $info = $params['info']; @@ -171,17 +172,27 @@ $res = $this->ModulePath(array('module' => $module)); break; - case 'perm_section': - $res = $sections_helper->getPermSection($section); + case 'perm_section': + $res = $sections_helper->getPermSection($section); break; + case 'label': + $res = $section_data['label']; + if ($section != 'in-portal:root') { + // don't translate label for top section, because it's already translated + $res = $this->Application->Phrase($res); + } + break; + default: $res = $section_data[$info]; + break; } - if ($info == 'label' || isset($params['as_label'])) { + if (array_key_exists('as_label', $params) && $params['as_label']) { $res = $this->Application->Phrase($res); } + return $res; }