/** * Method to build the sortlists * * @access private * @return array * @since 0.9 */ function _buildSortLists() { $app =& JFactory::getApplication(); $uri =& JFactory::getURI(); // remove previously set filter in get $uri->delVar('filter'); $uri->delVar('filter_type'); $uri->delVar('filter_category'); $uri->delVar('filter_venuecategory'); $uri->delVar('filter_venue'); $uri->delVar('filter_event'); $uri->delVar('filtercustom'); $elsettings =& redEVENTHelper::config(); $params = $app->getParams(); $filter_order = JRequest::getCmd('filter_order', 'x.dates'); $filter_order_Dir = JRequest::getWord('filter_order_Dir', 'ASC'); $state = $this->get('state'); $filter = $state->get('filter'); $filter_type = $state->get('filter_type'); $filter_category = $state->get('filter_category'); $filter_venue = $state->get('filter_venue'); $filter_event = $state->get('filter_event'); $this->assign('action', JRoute::_(RedeventHelperRoute::getArchiveRoute())); $sortselects = array(); if ($params->get('filter_type_event', 1)) { $sortselects[] = JHTML::_('select.option', 'title', JText::_('COM_REDEVENT_FILTER_SELECT_EVENT')); } if ($params->get('filter_type_venue', 1)) { $sortselects[] = JHTML::_('select.option', 'venue', JText::_('COM_REDEVENT_FILTER_SELECT_VENUE')); } if ($params->get('filter_type_city', 1)) { $sortselects[] = JHTML::_('select.option', 'city', JText::_('COM_REDEVENT_FILTER_SELECT_CITY')); } if ($params->get('filter_type_category', 1)) { $sortselects[] = JHTML::_('select.option', 'type', JText::_('COM_REDEVENT_FILTER_SELECT_CATEGORY')); } if (count($sortselects) == 0) { $sortselect = false; } else { if (count($sortselects) == 1) { $sortselect = '<input type="hidden" name="filter_type" value="' . $sortselects[0]->value . '" />'; } else { $sortselect = JHTML::_('select.genericlist', $sortselects, 'filter_type', 'size="1" class="inputbox"', 'value', 'text', $filter_type); } } // category filter $options = array(JHTML::_('select.option', '', JText::_('COM_REDEVENT_FILTER_SELECT_CATEGORY'))); $options = array_merge($options, $this->get('CategoriesOptions')); $lists['categoryfilter'] = JHTML::_('select.genericlist', $options, 'filter_category', 'size="1" class="inputbox dynfilter"', 'value', 'text', $filter_category); // venue filter $options = array(JHTML::_('select.option', '', JText::_('COM_REDEVENT_FILTER_SELECT_VENUE'))); $options = array_merge($options, $this->get('VenuesOptions')); $lists['venuefilter'] = JHTML::_('select.genericlist', $options, 'filter_venue', 'size="1" class="inputbox dynfilter"', 'value', 'text', $filter_venue); // events filter if ($params->get('lists_filter_event', 0)) { $options = array(JHTML::_('select.option', '', JText::_('COM_REDEVENT_FILTER_SELECT_EVENT'))); $options = array_merge($options, $this->get('EventsOptions')); $lists['eventfilter'] = JHTML::_('select.genericlist', $options, 'filter_event', 'size="1" class="inputbox dynfilter"', 'value', 'text', $filter_event); } $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; $lists['filter'] = $filter; $lists['filter_type'] = $sortselect; return $lists; }