/** * 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); }