router = $router; } /** * Dummymethod to fullfill the interface requirements * * @param array &$query The query array to process * * @return void * * @since 3.4 * @codeCoverageIgnore */ public function preprocess(&$query) { if(isset($query['Itemid'])) { $itmid = is_array($query['Itemid']) ? array_values($query['Itemid']) : $query['Itemid']; $query['Itemid'] = is_array($itmid) ? $itmid[0] : $itmid; } // echo "preprocess
";print_R($query);die; $test = 'Test'; } /** * Parse a menu-less URL * * @param array &$segments The URL segments to parse * @param array &$vars The vars that result from the segments * * @return void * * @since 3.4 */ public function parse(&$segments, &$vars) { // Count segments $count = count($segments); // echo "";print_r($segments);die; //with this url: https://localhost/j4x/my-walks/mywalk-n/walk-title.html // segments: [[0] => mywalk-n, [1] => walk-title] // vars: [[option] => com_mywalks, [view] => mywalks, [id] => 0] // $vars['view'] = 'mywalk'; // $vars['id'] = substr($segments[0], strpos($segments[0], '-') + 1); // array_shift($segments); // array_shift($segments); // $vars['option']='com_jem'; switch ($segments[0]) { case 'category': { if ($count == 2) { $id = explode(':', $segments[1]); $vars['view'] = 'category'; $vars['id'] = $id[0]; } else { $vars['view'] = 'category'; } } break; case 'event': { if ($count == 2) { $id = explode(':', $segments[1]); $vars['id'] = $id[0]; $vars['view'] = 'event'; } else { $vars['view'] = 'event'; } } break; case 'venue': { if ($count == 2) { $id = explode(':', $segments[1]); $vars['id'] = $id[0]; $vars['view'] = 'venue'; } else { $vars['view'] = 'venue'; } } break; case 'editvenue': { $vars['view'] = 'editvenue'; if ($count == 2) { $vars['id'] = $segments[1]; } } break; case 'eventslist': { $vars['view'] = 'eventslist'; } break; case 'search': { $vars['view'] = 'search'; } break; case 'categoriesdetailed': { $vars['view'] = 'categoriesdetailed'; } break; case 'categories': { if ($count == 2) { $id = explode(':', $segments[1]); $vars['id'] = $id[0]; } $vars['view'] = 'categories'; } break; case 'calendar': { // $id = explode(':', $segments[1]); // $vars['id'] = $id[0]; $vars['view'] = 'calendar'; } break; case 'venues': { $vars['view'] = 'venues'; } break; case 'venueslist': { $vars['view'] = 'venueslist'; } break; case 'day': { $vars['view'] = 'day'; if ($count == 2) { $vars['id'] = $segments[1]; } } break; case 'myattendances': { $vars['view'] = 'myattendances'; } break; case 'myevents': { $vars['view'] = 'myevents'; } break; case 'myvenues': { $vars['view'] = 'myvenues'; } break; case 'attendees': { if(isset($segments[1])){ $id = explode(':', $segments[1]); $vars['id'] = $id[0]; } $vars['view'] = 'attendees'; } break; default: { $vars['view'] = $segments[0]; } break; } array_shift($segments); array_shift($segments); } /** * Build a menu-less URL * * @param array &$query The vars that should be converted * @param array &$segments The URL segments to create * * @return void * * @since 3.4 */ public function build(&$query, &$segments) { // $itmid = is_array($query['Itemid']) ? array_values($query['Itemid']) : $query['Itemid'] ; // $query['Itemid']= is_array($itmid) ? $itmid[0] : $itmid; if(isset($query['view'],$query['id'])){ $segments[] =$query['view']; $segments[] =$query['id']; unset($query['view'],$query['tmpl'],$query['id'],$query['Itemid']); }else if (isset($query['view'])) { $segments[] = $query['view']; unset($query['view']); }else if (isset($query['id'])) { $segments[] = $query['id']; unset($query['id']); }; } }