public function onCommonGetNavs($type = '') { Cloud::loadFile('Service_SearchHelper'); $navtype = null; switch ($type) { case 'footer': $navtype = 1; break; case 'space': $navtype = 2; break; case 'my': $navtype = 3; break; case 'header': $navtype = 0; break; } $navs = $subNavs = array(); foreach (C::t('common_nav')->fetch_all_by_navtype($navtype) as $nav) { if (!$nav['parentid']) { $navs[$nav['id']] = Cloud_Service_SearchHelper::convertNav($nav); } else { $subNavs[$nav['id']] = $nav; } } foreach ($subNavs as $k => $v) { $navs[$v['parentid']]['navs'][$v['id']] = Cloud_Service_SearchHelper::convertNav($v); } return $navs; }