public function link() { $activeColumn = Order::column() ?: ''; $activeSort = Order::sort() ?: ''; $nextSort = 'asc'; if ($this->field === $activeColumn) { switch ($activeSort) { case 'asc': $nextSort = 'desc'; break; case 'desc': $nextSort = Order::isBase() ? 'asc' : ''; break; } } if (empty($nextSort) && !Order::isBase()) { $queryVars = array(OrderConst::RESET_PARAM => 1); } else { $queryVars = array(OrderConst::COLUMN_PARAM => $this->field, OrderConst::SORT_PARAM => $nextSort); } return http_build_query($queryVars); }