summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2014-07-02 08:18:15 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2014-07-02 08:23:27 +0200
commita149fc493f62f31e3806f353dde0c4dc812be6b2 (patch)
treee2e45340717bca33f80631bdc7ddd5956d7d9590 /web
parent64c4e51698c23b59121c94eb501ab2d4f97128e8 (diff)
downloadaurweb-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>
Diffstat (limited to 'web')
-rw-r--r--web/html/pkgreq.php6
-rw-r--r--web/lib/pkgreqfuncs.inc.php19
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();
}