function DJClassifiedsParseRoute($segments) { $app = JFactory::getApplication(); $menu = $app->getMenu(); $activemenu = $menu->getActive(); $par = JComponentHelper::getParams('com_djclassifieds'); $catalogViews = array($par->get('seo_view_item', 'ad'), $par->get('seo_view_items', 'ads'), $par->get('seo_view_edititem', 'edititem'), $par->get('seo_view_additem', 'additem'), $par->get('seo_view_useritems', 'useritems'), $par->get('seo_view_categories', 'categories'), $par->get('seo_view_profile', 'profile'), $par->get('seo_view_peofileefit', 'profileedit')); $query = array(); $temp = array(); if (count($segments)) { //if (!in_array($segments[0], $catalogViews)) { if ($activemenu) { $temp = array(); $temp[0] = $activemenu->query['view']; switch ($temp[0]) { case 'item': $temp[1] = @$activemenu->query['cid']; $temp[2] = @$activemenu->query['id']; /*foreach ($segments as $k=>$v) { $temp[$k+1] = $v; }*/ break; case 'items': $temp[1] = @$activemenu->query['cid']; if (isset($activemenu->query['layout'])) { $temp[2] = @$activemenu->query['layout']; } /*foreach ($segments as $k=>$v) { $temp[$k+1] = $v; }*/ break; case 'edititem': $temp[1] = @$activemenu->query['id']; /*foreach ($segments as $k=>$v) { $temp[$k+1] = $v; }*/ break; } //$segments = $temp; } // } if (isset($segments[0])) { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_item', 'ad')) || $segments[0] == 'item') { $query['view'] = 'item'; if (isset($segments[2])) { $query['id'] = DJClassifiedsSEO::getIDfromURL($segments[2]); $query['cid'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } else { if (isset($segments[1])) { $query['id'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } if (isset($temp[1])) { if ($temp[0] == 'items') { $query['cid'] = $temp[1]; } } } } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_items', 'ads')) || $segments[0] == 'items') { $query['view'] = 'items'; if (isset($segments[1])) { $query['cid'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_edititem', 'edititem')) || $segments[0] == 'edititem') { $query['view'] = 'edititem'; if (isset($segments[1])) { $query['id'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_additem', 'additem')) || $segments[0] == 'additem') { $query['view'] = 'additem'; } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_useritems', 'useritems')) || $segments[0] == 'useritems') { $query['view'] = 'useritems'; } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_categories', 'categories')) || $segments[0] == 'categories') { $query['view'] = 'categories'; } else { if ($segments[0] == 'payment') { $query['view'] = 'payment'; if (isset($segments[1])) { $query['id'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } } else { if ($segments[0] == 'points') { $query['view'] = 'points'; } else { if ($segments[0] == 'userpoints') { $query['view'] = 'userpoints'; } else { if ($segments[0] == 'renewitem') { $query['view'] = 'renewitem'; if (isset($segments[1])) { $query['id'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_profile', 'profile')) || $segments[0] == 'profile') { $query['view'] = 'profile'; if (isset($segments[1])) { $query['uid'] = DJClassifiedsSEO::getIDfromURL($segments[1]); } } else { if ($segments[0] == str_ireplace('-', ':', $par->get('seo_view_profileedit', 'profileedit')) || $segments[0] == 'profileedit') { $query['view'] = 'profileedit'; } else { if (isset($temp[1])) { if ($temp[0] == 'items') { $query['view'] = 'items'; $query['cid'] = DJClassifiedsSEO::getIDfromURL($segments[0]); if (isset($temp[2])) { $query['layout'] = $temp[2]; } } } } } } } } } } } } } } } } } return $query; }