[1/2] Add a parameter to skip old requests to pkgreq_list()

Message ID 20170215062625.12477-1-lfleischer@archlinux.org
State Accepted, archived
Headers show
Series [1/2] Add a parameter to skip old requests to pkgreq_list() | expand

Commit Message

Lukas Fleischer Feb. 15, 2017, 6:26 a.m. UTC
Allow for hiding requests which were opened before a given time stamp.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
---
 web/lib/pkgreqfuncs.inc.php | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

Patch

diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php
index 7dcab13..774ebe7 100644
--- a/web/lib/pkgreqfuncs.inc.php
+++ b/web/lib/pkgreqfuncs.inc.php
@@ -20,10 +20,11 @@  function pkgreq_count() {
  * @param int $offset The index of the first request to return
  * @param int $limit The maximum number of requests to return
  * @param int $uid Only return packages affecting the given user
+ * @param int $from Do not return packages older than the given date
  *
- * @return array List of pacakge requests with details
+ * @return array List of package requests with details
  */
-function pkgreq_list($offset, $limit, $uid=false) {
+function pkgreq_list($offset, $limit, $uid=false, $from=false) {
 	$dbh = DB::connect();
 
 	$q = "SELECT PackageRequests.ID, ";
@@ -37,9 +38,15 @@  function pkgreq_list($offset, $limit, $uid=false) {
 	$q.= "RequestTypes.ID = PackageRequests.ReqTypeID ";
 	$q.= "INNER JOIN Users ON Users.ID = PackageRequests.UsersID ";
 
-	if ($uid) {
-		$q.= "WHERE PackageRequests.UsersID = " . intval($uid). " ";
-		$q.= "OR Users.ID = " . intval($uid) . " ";
+	if ($uid || $from) {
+		$q.= "WHERE ";
+		if ($uid) {
+			$q.= "(PackageRequests.UsersID = " . intval($uid). " ";
+			$q.= "OR Users.ID = " . intval($uid) . ") AND ";
+		}
+		if ($from) {
+			$q.= "RequestTS >= " . intval($from). " ";
+		}
 	}
 
 	$q.= "ORDER BY Open DESC, RequestTS DESC ";