Exemplo n.º 1
0
 /**
  * Build the orderby for the query
  *
  * @return	string	$order_by portion of query
  * 
  */
 protected function buildOrderBy()
 {
     $app = JFactory::getApplication('site');
     $db = $this->getDbo();
     $params = $this->state->params;
     $item_id = $app->input->getInt('id', 0) . ':' . $app->input->getInt('Itemid', 0);
     $order_col = $app->getUserStateFromRequest('com_knvbapi2.category.list.' . $item_id . '.filter_order', 'filter_order', '', 'string');
     $order_dirn = $app->getUserStateFromRequest('com_knvbapi2.category.list.' . $item_id . '.filter_order_Dir', 'filter_order_Dir', '', 'cmd');
     $order_by = ' ';
     if (!in_array($order_col, $this->filter_fields)) {
         $order_col = null;
     }
     if (!in_array(JString::strtoupper($order_dirn), array('ASC', 'DESC', ''))) {
         $order_dirn = 'ASC';
     }
     if ($order_col and $order_dirn) {
         $order_by .= $db->escape($order_col) . ' ' . $db->escape($order_dirn) . ', ';
     }
     switch ($params->get('items_to_display', '')) {
         case 'Teamnaams':
             $secondary_order_by = $params->get('teamnaam_orderby_sec', 'none');
             $order_date = $params->get('teamnaam_order_date');
             $category_order_by = $params->def('teamnaam_orderby_pri', '');
             $primary = Knvbapi2HelperQuery::orderbyPrimary($category_order_by);
             $secondary = Knvbapi2HelperQuery::orderbySecondary($secondary_order_by, $order_date, 'ordering') . ', ';
             $order_by .= $db->escape($primary) . $db->escape($secondary) . $db->quoteName('a.created');
             break;
         default:
             $category_order_by = 'ordering';
             $primary = Knvbapi2HelperQuery::orderbyPrimary($category_order_by);
             $order_by .= $db->escape($primary);
             break;
     }
     return JString::trim($order_by);
 }