Check if a package actually changed its status before sending an email
to prevent from spamming. Addresses FS#31745.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 web/lib/pkgfuncs.inc.php | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index 6a7cbb5..06f348c 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -699,9 +699,13 @@ function pkg_flag ($atype, $ids, $action=true, $dbh=NULL) {
                $q.= "AND MaintainerUID = " . uid_from_sid($_COOKIE["AURSID"], 
$dbh);
        }
 
-       $dbh->exec($q);
-
        if ($action) {
+               $q.= " AND OutOfDateTS IS NULL";
+       }
+
+       $affected_pkgs = $dbh->exec($q);
+
+       if ($action && $affected_pkgs > 0) {
                # Notify of flagging by email
                $f_name = username_from_sid($_COOKIE['AURSID'], $dbh);
                $f_email = email_from_sid($_COOKIE['AURSID'], $dbh);
-- 
1.7.12.1

Reply via email to