} else { if (isset($_GET["sort"])) { $searchString = SessionOperator::getSearchSetting(SessionOperator::SEARCH_STRING); $searchCategory = SessionOperator::getSearchSetting(SessionOperator::SEARCH_CATEGORY); $sort = urldecode($_GET["sort"]); // Set search sessions $updated_session = [SessionOperator::SORT => $sort]; } else { HelperOperator::redirectTo("../views/search_view.php"); return; } } } $cats = getCatIdAndType($searchCategory); // Set up pagination object $total = QueryOperator::countFoundAuctions(buildQuery($searchString, $cats, null)); $page = isset($_GET["page"]) ? $_GET["page"] : 1; $page = $page <= $total ? $page : 1; $per_page = 15; $pagination = new Pagination($page, $per_page, $total); // Get paginated search results $catsAndAuctions = QueryOperator::searchAuctions(buildQuery($searchString, $cats, $sort, $per_page, $pagination->offset())); // Update search sessions $updated_session = array_merge([SessionOperator::SEARCH_RESULT => $catsAndAuctions], $updated_session); $updated_session = array_merge([SessionOperator::SEARCH_PAGINATION => $pagination], $updated_session); SessionOperator::setSearch($updated_session); // Return back to search page HelperOperator::redirectTo("../views/search_view.php"); function buildQuery($searchString, $searchCategory, $sortOption, $limit = null, $offset = null) { $query = null;