/** * Get sort order * * @param string $sort * @param string $page * @param string $ord * @return array */ public function getSortOrder($sort = null, $page = null, $ord = 'ASC') { $field = 'id'; $order = $ord; $sess = null; if (stripos(php_sapi_name(), 'cli') === false || stripos(php_sapi_name(), 'server') !== false) { $sess = \Pop\Session\Session::getInstance(); } if (null !== $sort) { if (null !== $sess && $page != $sess->lastPage) { if ($sort != $sess->lastSortField) { $field = $sort; $order = $ord; } else { $field = $sess->lastSortField; $order = $sess->lastSortOrder; } } else { $field = $sort; if (null !== $sess && isset($sess->lastSortOrder)) { $order = $sess->lastSortOrder == 'ASC' ? 'DESC' : 'ASC'; } else { $order = $ord; } } } if (null !== $sess) { $sess->lastSortField = $field; $sess->lastSortOrder = $order; $sess->lastPage = $page; } return $field . ' ' . $order; }