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']);
                };
    }
}