From 01bfae82ce90e5f98180fb920479ed72977c0385 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 21 May 2015 17:08:58 +0200 Subject: Make the type parameter of pkgreq_by_pkgbase() optional This simplifies the code a bit, improves maintainability and reduces the number of SQL queries when deleting a package. Signed-off-by: Lukas Fleischer --- web/lib/pkgbasefuncs.inc.php | 5 +---- web/lib/pkgreqfuncs.inc.php | 9 ++++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php index 3f02bc7..3e4b572 100644 --- a/web/lib/pkgbasefuncs.inc.php +++ b/web/lib/pkgbasefuncs.inc.php @@ -513,10 +513,7 @@ function pkgbase_delete ($base_ids, $merge_base_id, $via, $grant=false) { if (!$action) { $username = username_from_sid($_COOKIE['AURSID']); foreach ($base_ids as $base_id) { - $pkgreq_ids = array_merge( - pkgreq_by_pkgbase($base_id, 'deletion'), - pkgreq_by_pkgbase($base_id, 'merge'), - pkgreq_by_pkgbase($base_id, 'orphan')); + $pkgreq_ids = array_merge(pkgreq_by_pkgbase($base_id)); foreach ($pkgreq_ids as $pkgreq_id) { pkgreq_close(intval($pkgreq_id), 'accepted', 'The user ' . $username . diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php index e4c63b5..c056d68 100644 --- a/web/lib/pkgreqfuncs.inc.php +++ b/web/lib/pkgreqfuncs.inc.php @@ -49,15 +49,18 @@ function pkgreq_list($offset, $limit) { * * @return array List of package request IDs */ -function pkgreq_by_pkgbase($baseid, $type) { +function pkgreq_by_pkgbase($baseid, $type=false) { $dbh = DB::connect(); $q = "SELECT PackageRequests.ID "; $q.= "FROM PackageRequests INNER JOIN RequestTypes ON "; $q.= "RequestTypes.ID = PackageRequests.ReqTypeID "; $q.= "WHERE PackageRequests.Status = 0 "; - $q.= "AND PackageRequests.PackageBaseID = " . intval($baseid) . " "; - $q.= "AND RequestTypes.Name = " . $dbh->quote($type); + $q.= "AND PackageRequests.PackageBaseID = " . intval($baseid); + + if ($type) { + $q .= " AND RequestTypes.Name = " . $dbh->quote($type); + } return $dbh->query($q)->fetchAll(PDO::FETCH_COLUMN, 0); } -- cgit v1.2.3-70-g09d2