From 6430dc69043a89c0d900e68474c284e9c840f4e0 Mon Sep 17 00:00:00 2001 From: boris Date: Sun, 1 Dec 2024 18:15:35 +0000 Subject: [PATCH] idk --- Models/Paginator.php | 33 --------------------------------- Views/template/pagination.phtml | 1 + paginationcontroller.php | 19 +++++++------------ 3 files changed, 8 insertions(+), 45 deletions(-) diff --git a/Models/Paginator.php b/Models/Paginator.php index 948d302..baaba4c 100644 --- a/Models/Paginator.php +++ b/Models/Paginator.php @@ -40,39 +40,6 @@ class Paginator { ]); } - public function setPageUri($page) - { - $uri = $_SERVER['REQUEST_URI']; - $uriComp = parse_url($uri); - $params = []; - - // Parse existing query parameters - if (isset($uriComp['query'])) { - parse_str($uriComp['query'], $params); - } else { - $params = array(); - } - - // Avoid unnecessary redirection if the page is already correct - if (isset($params['page']) && (int)$params['page'] === $page) { - exit; // Do nothing if already on the correct page - } - - // Update the 'page' parameter - $params['page'] = $page; - - // Rebuild the query string - $newUri = http_build_query($params); - - // Redirect to the updated URI - // Use the current path or root - return - [ - 'newUri' => $newUri, - 'path' => $uriComp['path'] ?? '/' - ]; - } - public function getPage(int $pageNumber): array { if ($pageNumber < 0 || $pageNumber >= $this->_totalPages) { diff --git a/Views/template/pagination.phtml b/Views/template/pagination.phtml index 6903603..08c71f9 100644 --- a/Views/template/pagination.phtml +++ b/Views/template/pagination.phtml @@ -9,6 +9,7 @@ paginator->getTotalPages(); + var_dump($totalPages); for ($i = $view->pageNumber - 2; $i <= $view->pageNumber + 2; $i++) { if ($i >= 0 && $i < $totalPages): ?> "", 1 => "", @@ -18,20 +22,13 @@ $rowLimit = 5; //$_POST['rowCount']; $facilityDataSet = new FacilityDataSet(); -if (isset($_POST['pageButtons'])) { - $currentPage = (int)$_POST['pageButtons']; -} elseif (isset($_POST['pageDown'])) { - $currentPage = (int)$_POST['pageDown']; -} else { - $currentPage = 0; // Default to the first page -} - if (isset($_POST['applyFilters']) && isset($_POST['filter'])) { + var_dump($_POST); $applyFilters = filter_input(INPUT_POST, 'applyFilters', FILTER_SANITIZE_STRING); $filterKey = filter_input(INPUT_POST, 'filter', FILTER_SANITIZE_STRING); - + $filterArray[$filterKey] = $applyFilters; // Set the filter and generate the new URI - $filterSet = $facilityDataSet->setFilterUri($applyFilters, $filterArray[$filterKey]); + $filterSet = $facilityDataSet->setFilterUri($applyFilters, array_search($applyFilters, $filterArray)); // Parse the existing query string parse_str($filterSet["newUri"], $queryParams); @@ -56,8 +53,6 @@ $view->pageData = $facilityDataSet->fetchAll($filterArray); $view->paginator = new Paginator($rowLimit, $view->pageData); // Initialize paginator -$view->paginator->setPageUri($currentPage); - $view->pageNumber = $view->paginator->getPageFromUri(); $view->pageData = $view->paginator->getPage($view->pageNumber);