public function parse(&$segments) { $vars = array(); $tmp = null; $total = count($segments); for ($i = 0; $i < $total; $i++) { if (strpos($segments[$i], 'addon_') !== false) { $tmp = $i; break; } } // Get addon parse router $addonVars = array(); if ($tmp) { $addonSegments = array_slice($segments, $tmp, $total); $segments = array_slice($segments, 0, $tmp); if (count($addonSegments)) { $addon_id = (int) str_replace('addon_', '', $addonSegments[0]); $addonVars['addon_id'] = $addon_id; $addon = TZ_Portfolio_PlusPluginHelper::getPluginById($addon_id); if ($router = $this->getAddonRouter($addon->name, $addon->type)) { $_addonVars = $router->parse($addonSegments); $addonVars = array_merge($addonVars, $_addonVars); } } } $params = JComponentHelper::getParams('com_tz_portfolio_plus'); if ($params->get('tzSef', 1)) { $vars = $this->sefParse($segments); } else { $vars = $this->notSefParse($segments); } $vars = array_merge($vars, $addonVars); return $vars; }