diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2014-07-02 08:18:15 +0200 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2014-07-02 08:23:27 +0200 |
commit | a149fc493f62f31e3806f353dde0c4dc812be6b2 (patch) | |
tree | e2e45340717bca33f80631bdc7ddd5956d7d9590 | |
parent | 64c4e51698c23b59121c94eb501ab2d4f97128e8 (diff) | |
download | aurweb-a149fc493f62f31e3806f353dde0c4dc812be6b2.tar.xz |
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 <archlinux@cryptocrack.de>
-rw-r--r-- | web/html/pkgreq.php | 6 | ||||
-rw-r--r-- | web/lib/pkgreqfuncs.inc.php | 19 |
2 files changed, 20 insertions, 5 deletions
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 @@ -3,11 +3,25 @@ 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(); } |