function ZooBuildRoute(&$query) { // init vars $segments = array(); // frontpage $task = 'frontpage'; if (@$query['task'] == $task || @$query['view'] == $task) { $segments[] = $task; unset($query['task']); unset($query['view']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // category $task = 'category'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['category_id'])) { $segments[] = $task; $segments[] = CategoryHelper::translateIDToAlias((int) $query['category_id']); unset($query['task']); unset($query['view']); unset($query['category_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // alpha index $task = 'alphaindex'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['alpha_char']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']); $segments[] = $query['alpha_char']; unset($query['task']); unset($query['view']); unset($query['alpha_char']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // tag $task = 'tag'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']); $segments[] = $query['tag']; unset($query['task']); unset($query['view']); unset($query['tag']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // item $task = 'item'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['item_id'])) { $segments[] = $task; $segments[] = ItemHelper::translateIDToAlias((int) $query['item_id']); unset($query['task']); unset($query['view']); unset($query['item_id']); } // feed $task = 'feed'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['type']) && isset($query['category_id'])) { $segments[] = $task; $segments[] = $query['type']; $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']); $segments[] = CategoryHelper::translateIDToAlias((int) $query['category_id']); unset($query['task']); unset($query['view']); unset($query['type']); unset($query['app_id']); unset($query['category_id']); } // submission $task = 'submission'; $layout = 'submission'; if ((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout) { $segments[] = $task; $segments[] = $layout; $segments[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']); $segments[] = $query['type_id']; $segments[] = $query['submission_hash']; $segments[] = ItemHelper::translateIDToAlias((int) @$query['item_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); unset($query['type_id']); unset($query['submission_hash']); unset($query['item_id']); } // submission mysubmissions $task = 'submission'; $layout = 'mysubmissions'; if ((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout) { $segments[] = $task; $segments[] = $layout; $segments[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); } return $segments; }
$query['category_id'] = JSite::getMenu()->getParams($Itemid)->get('category'); } $title[] = $task; $title[] = CategoryHelper::translateIDToAlias((int) $query['category_id']); // pagination if (isset($query['page'])) { $title[] = $query['page']; shRemoveFromGETVarsList('page'); } shRemoveFromGETVarsList('category_id'); break; case 'feed': $title[] = $task; $title[] = $query['type']; $title[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']); $title[] = CategoryHelper::translateIDToAlias((int) $query['category_id']); shRemoveFromGETVarsList('type'); shRemoveFromGETVarsList('app_id'); shRemoveFromGETVarsList('category_id'); break; case 'frontpage': // retrieve app id from menu item if (!isset($query['app_id'])) { $query['app_id'] = JSite::getMenu()->getParams($Itemid)->get('application'); } $title[] = $task; $title[] = ApplicationHelper::translateIDToAlias($query['app_id']); // pagination if (isset($query['page'])) { $title[] = $query['page']; shRemoveFromGETVarsList('page');