diff options
Diffstat (limited to 'web')
-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(); } |