Пример #1
0
    } 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;