Пример #1
0
 function _checkfilter()
 {
     $app =& JFactory::getApplication();
     $post = JRequest::get('post');
     $uri = Jfactory::getUri();
     $myuri = clone $uri;
     // do not modify it if not proper view...
     $vars = 0;
     foreach ($post as $filter => $v) {
         switch ($filter) {
             case 'filter_category':
             case 'filter_venuecategory':
             case 'filter_order':
             case 'filter_order_Dir':
             case 'filter':
             case 'filter_type':
             case 'filter_venue':
             case 'layout':
             case 'task':
                 if ($v) {
                     $myuri->setVar($filter, $v);
                     $vars++;
                 }
                 break;
             case 'filtercustom':
                 $filt = array();
                 foreach ((array) $v as $n => $val) {
                     if (is_array($val)) {
                         //							echo '<pre>';print_r($val); echo '</pre>';exit;
                         $r = array();
                         foreach ($val as $sub) {
                             if ($sub) {
                                 $r[] = $sub;
                             }
                         }
                         $myuri->setVar("filtercustom[{$n}]", $r);
                     } else {
                         if ($val) {
                             $filt[$n] = $val;
                         }
                     }
                 }
                 if (count($filt)) {
                     //						echo '<pre>';print_r($filt); echo '</pre>';exit;
                     $myuri->setVar($filter, $filt);
                     $vars++;
                 }
                 break;
         }
     }
     if ($vars) {
         switch (JRequest::getVar('view', '')) {
             case 'categoryevents':
             case 'venueevents':
             case 'simplelist':
             case 'venuesmap':
             case 'search':
                 $this->setRedirect(JRoute::_($myuri->toString(), false));
                 break;
         }
     }
 }