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; }
$language->load('com_easydiscuss', JPATH_ROOT); // start by inserting the menu element title (just an idea, this is not required at all) $task = isset($task) ? @$task : null; $Itemid = isset($Itemid) ? @$Itemid : null; $view = isset($view) ? $view : ''; if (!empty($id) && !empty($view)) { $permalink = ''; switch ($view) { case 'categories': $permalink = DiscussRouter::getAlias('category', $id); break; case 'post': $permalink = DiscussRouter::getAlias('posts', $id); break; case 'profile': $permalink = DiscussRouter::getUserAlias($id); break; case 'tags': $permalink = DiscussRouter::getAlias('tags', $id); break; } } 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)) {