From e4ca99407a3efbade5e09a43b4d333ae4daa1e5b Mon Sep 17 00:00:00 2001 From: Nicolas Cornu <nicolac76@yahoo.fr> Date: Fri, 27 Jul 2012 22:08:55 +0200 Subject: [PATCH] Notify users when a package is updated.
It's a patch to send notify when someone update a package. --- web/html/pkgsubmit.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index 84688b4..f7bc430 100644 --- a/web/html/pkgsubmit.php +++ b/web/html/pkgsubmit.php @@ -397,6 +397,39 @@ if ($uid): pkg_notify(account_from_sid($_COOKIE["AURSID"], $dbh), array($packageID), true, $dbh); } + # If it was a previously created package notify users of this update. + if($pdata) { + $uid = uid_from_sid($uid, $dbh); + + # Send email notifications + $q = 'SELECT CommentNotify.*, Users.Email '; + $q.= 'FROM CommentNotify, Users '; + $q.= 'WHERE Users.ID = CommentNotify.UserID '; + $q.= 'AND CommentNotify.UserID != ' . $uid . ' '; + $q.= 'AND CommentNotify.PkgID = ' . intval($packageID); + $result = db_query($q, $dbh); + $bcc = array(); + + if (mysql_num_rows($result)) { + while ($row = mysql_fetch_assoc($result)) { + array_push($bcc, $row['Email']); + } + + # TODO: native language emails for users, based on their prefs + # Simply making these strings translatable won't work, users would be + # getting emails in the language that the user who posted the comment was in + $body = + 'from ' . $AUR_LOCATION . '/' . get_pkg_uri($pkg_name) . "\n" + . username_from_sid($_COOKIE['AURSID'], $dbh) . " update the package to the version: " + . $pkg_version + . "\n\n---\nIf you no longer wish to receive notifications about this package, please go the the above package page and click the UnNotify button."; + $body = wordwrap($body, 70); + $bcc = implode(', ', $bcc); + $headers = "Bcc: $bcc\nReply-to: nobody@archlinux.org\nFrom: aur-notify@archlinux.org\nX-Mailer: AUR\n"; + @mail('undisclosed-recipients: ;', "AUR Update for " . $pkg_name, $body, $headers); + } + } + # Entire package creation process is atomic end_atomic_commit($dbh); -- 1.7.11.3