From a149fc493f62f31e3806f353dde0c4dc812be6b2 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Wed, 2 Jul 2014 08:18:15 +0200 Subject: Fix pagination in the package request list This was not implemented properly in commit 8260111 (Add a package request list, 2014-06-24). Signed-off-by: Lukas Fleischer --- web/html/pkgreq.php | 6 +++--- web/lib/pkgreqfuncs.inc.php | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'web') diff --git a/web/html/pkgreq.php b/web/html/pkgreq.php index 674f1c1..4b7d6cf 100644 --- a/web/html/pkgreq.php +++ b/web/html/pkgreq.php @@ -14,9 +14,6 @@ if (!isset($base_id)) { exit(); } - $results = pkgreq_list(); - $total = count($results); - /* Sanitize paging variables. */ if (isset($_GET['O'])) { $_GET['O'] = max(intval($_GET['O']), 0); @@ -30,6 +27,9 @@ if (!isset($base_id)) { $_GET["PP"] = 50; } + $results = pkgreq_list($_GET['O'], $_GET['PP']); + $total = pkgreq_count(); + /* Calculate the results to use. */ $first = $_GET['O'] + 1; diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php index 852554b..a79677e 100644 --- a/web/lib/pkgreqfuncs.inc.php +++ b/web/lib/pkgreqfuncs.inc.php @@ -2,12 +2,26 @@ include_once("config.inc.php"); include_once("pkgbasefuncs.inc.php"); +/** + * Get the number of package requests + * + * @return int The total number of package requests + */ +function pkgreq_count() { + $dbh = DB::connect(); + $q = "SELECT COUNT(*) FROM PackageRequests"; + return $dbh->query($q)->fetchColumn(); +} + /** * Get a list of all package requests * + * @param int $offset The index of the first request to return + * @param int $limit The maximum number of requests to return + * * @return array List of pacakge requests with details */ -function pkgreq_list() { +function pkgreq_list($offset, $limit) { $dbh = DB::connect(); $q = "SELECT PackageRequests.ID, "; @@ -20,7 +34,8 @@ function pkgreq_list() { $q.= "FROM PackageRequests INNER JOIN RequestTypes ON "; $q.= "RequestTypes.ID = PackageRequests.ReqTypeID "; $q.= "INNER JOIN Users ON Users.ID = PackageRequests.UsersID "; - $q.= "ORDER BY Status ASC, RequestTS DESC"; + $q.= "ORDER BY Status ASC, RequestTS DESC "; + $q.= "LIMIT " . $limit . " OFFSET " . $offset; return $dbh->query($q)->fetchAll(); } -- cgit v1.2.3-54-g00ecf