Exemplo n.º 1
0
 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;
 }