function EasyDiscussBuildRoute(&$query) { $segments = array(); $config = DiscussHelper::getConfig(); if (isset($query['view'])) { switch ($query['view']) { case 'post': // We don't want to include the view for the entry links. unset($query['view']); if (isset($query['id'])) { $segments[] = DiscussRouter::getPostAlias($query['id']); unset($query['id']); } if (isset($query['layout'])) { $segments[] = $query['layout']; unset($query['layout']); } break; case 'profile': $segments[] = $query['view']; unset($query['view']); if (isset($query['layout'])) { $segments[] = $query['layout']; unset($query['layout']); } if (isset($query['id'])) { $segments[] = DiscussRouter::getUserAlias($query['id']); unset($query['id']); } if (isset($query['category_id'])) { $aliases = DiscussRouter::getCategoryAliases($query['category_id']); foreach ($aliases as $alias) { $segments[] = $alias; } unset($query['category_id']); } if (isset($query['viewtype'])) { $segments[] = $query['viewtype']; unset($query['viewtype']); } break; case 'index': $segments[] = $query['view']; unset($query['view']); if (isset($query['category_id'])) { $aliases = DiscussRouter::getCategoryAliases($query['category_id']); foreach ($aliases as $alias) { $segments[] = $alias; } unset($query['category_id']); } break; case 'ask': $segments[] = $query['view']; unset($query['view']); if (isset($query['category'])) { $aliases = DiscussRouter::getCategoryAliases($query['category']); foreach ($aliases as $alias) { $segments[] = $alias; } unset($query['category']); } break; case 'points': $segments[] = $query['view']; unset($query['view']); $segments[] = $query['layout']; unset($query['layout']); $segments[] = DiscussRouter::getUserAlias($query['id']); unset($query['id']); break; case 'tags': $segments[] = $query['view']; unset($query['view']); if (isset($query['id'])) { $segments[] = DiscussRouter::getTagAlias($query['id']); unset($query['id']); } break; case 'users': $segments[] = $query['view']; unset($query['view']); if (isset($query['sorting'])) { $segments[] = 'latest'; unset($query['sorting']); } break; case 'badges': $segments[] = $query['view']; unset($query['view']); if (isset($query['id'])) { $segments[] = DiscussRouter::getAlias('badges', $query['id']); unset($query['id']); unset($query['layout']); } if (isset($query['layout'])) { $segments[] = $query['layout']; unset($query['layout']); } break; case 'favourites': // We don't want to include the view for the entry links. $segments[] = $query['view']; unset($query['view']); break; case 'categories': $segments[] = $query['view']; unset($query['view']); if (isset($query['layout'])) { $segments[] = $query['layout']; unset($query['layout']); } if (isset($query['category_id'])) { $segments[] = DiscussRouter::getAlias('category', $query['category_id']); unset($query['category_id']); } break; case 'conversation': $segments[] = $query['view']; unset($query['view']); if (isset($query['layout'])) { $segments[] = $query['layout']; unset($query['layout']); } break; default: $segments[] = $query['view']; unset($query['view']); } } if (isset($query['filter'])) { $segments[] = $query['filter']; unset($query['filter']); } if (isset($query['sort'])) { $segments[] = $query['sort']; unset($query['sort']); } if (!isset($query['Itemid'])) { $query['Itemid'] = DiscussRouter::getItemId(); } return $segments; }
} if (empty($Itemid)) { $Itemid = DiscussRouter::getItemId($view); shAddToGETVarsList('Itemid', $Itemid); } $name = shGetComponentPrefix($option); $name = empty($name) ? getMenuTitle($option, $task, $Itemid, null, $shLangName) : $name; $name = empty($name) || $name == '/' ? 'discuss' : $name; $title[] = $name; if (isset($view) && !empty($view)) { // Translate the view $title[] = JText::_('COM_EASYDISCUSS_SH404_VIEW_' . JString::strtoupper($view)); shRemoveFromGETVarsList('view'); } if ($view == 'categories' && !empty($category_id)) { $title[] = DiscussRouter::getAlias('category', $category_id); shRemoveFromGETVarsList('category_id'); // Remove the view since we don't want to set the view. unset($layout); shRemoveFromGETVarsList('layout'); } if (!empty($id)) { if (!empty($permalink)) { $title[] = $permalink; shRemoveFromGETVarsList('id'); } } // Category id may be category_id=0 in index view. if (isset($category_id) && $category_id == 0) { shRemoveFromGETVarsList('category_id'); }