From 35f7cd1213f452ca387f5a4a3f89ba655a286bd2 Mon Sep 17 00:00:00 2001 From: Bitha17 <16521076@mahasiswa.itb.ac.id> Date: Sun, 8 Oct 2023 18:25:54 +0700 Subject: [PATCH] edit server side pagination --- app/Controllers/EventController.php | 28 +++++++++++----------- app/Controllers/PembelianController.php | 32 ++++++++++++++++--------- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/app/Controllers/EventController.php b/app/Controllers/EventController.php index 5416fbe..9d10f24 100644 --- a/app/Controllers/EventController.php +++ b/app/Controllers/EventController.php @@ -7,11 +7,11 @@ require_once(__DIR__ . '/TicketController.php'); if (!isset($_SESSION["user_id"])) { session_start(); - // if (!isset($_SESSION["user_id"])) { - // // User is not authenticated; redirect to login page - // header("Location: /app/Views/login/login.php"); - // ob_end_flush(); - // } + if (!isset($_SESSION["user_id"])) { + // User is not authenticated; redirect to login page + header("Location: /app/Views/login/login.php"); + ob_end_flush(); + } } class EventController { @@ -55,15 +55,22 @@ class EventController { } public function paginateEvents($events = [], $page = 1, $pagesize = 10) { - $maxpage = ceil(count($events) / $pagesize); + $totalEvents = count($events); + $maxpage = ceil($totalEvents / $pagesize); if ($page > $maxpage) { $page = $maxpage; } $offset = $pagesize * ($page - 1); $selectedEvents = array_slice($events, $offset, $pagesize); - return $selectedEvents; + return [ + 'events' => $selectedEvents, + 'total' => $totalEvents, + 'page' => $page, + 'maxpage' => $maxpage, + ]; } + public function searchEvents($searchQuery, $sortKey, $minStock = null) { @@ -132,13 +139,6 @@ class EventController { // Handle other actions here, if needed } } - if (isset($_GET['action'])) { - if ($_GET['action'] === 'purchaseTicket') { - - } else { - // Handle other actions here, if needed - } - } } } diff --git a/app/Controllers/PembelianController.php b/app/Controllers/PembelianController.php index 7b2f27a..249546d 100644 --- a/app/Controllers/PembelianController.php +++ b/app/Controllers/PembelianController.php @@ -7,11 +7,11 @@ require_once(__DIR__ . '/../Models/Pembelian.php'); if (!isset($_SESSION["user_id"])) { session_start(); - // if (!isset($_SESSION["user_id"])) { - // // User is not authenticated; redirect to login page - // header("Location: /app/Views/login/login.php"); - // ob_end_flush(); - // } + if (!isset($_SESSION["user_id"])) { + // User is not authenticated; redirect to login page + header("Location: /app/Views/login/login.php"); + ob_end_flush(); + } } class PembelianController { @@ -43,15 +43,25 @@ class PembelianController { return $this->pembelianModel->getAllPembelian(); } - public function paginateHistory($pembelian,$page=1,$pagesize=10) { - $maxpage = ceil(count($pembelian)/$pagesize); + public function getPembelianByUserId($userId) { + return $this->pembelianModel->getPembelianByUserId($userId); + } + + public function paginateHistory($pembelian=[],$page=1,$pagesize=10) { + $totalPembelian = count($pembelian); + $maxpage = ceil($totalPembelian / $pagesize); if ($page > $maxpage) { $page = $maxpage; } - $offset = $pagesize * ($page-1); - $selectedHistory = array_slice($pembelian, $offset, $pagesize); - - return $selectedHistory; + $offset = $pagesize * ($page - 1); + $selectedPembelian = array_slice($pembelian, $offset, $pagesize); + + return [ + 'pembelian' => $selectedPembelian, + 'total' => $totalPembelian, + 'page' => $page, + 'maxpage' => $maxpage, + ]; } // Returns true if purchase succeeds -- GitLab