[aur-dev] [PATCH 2/2] Notify users when a package is updated.

Mario Mueller mario at xenji.com
Fri Jul 27 18:08:26 EDT 2012


great, thanks!

On Saturday, July 28, 2012, Nicolas Cornu wrote:

> Responding to FS #30109
> ---
>  web/html/pkgsubmit.php | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>
> diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
> index 84688b4..2e6bf28 100644
> --- a/web/html/pkgsubmit.php
> +++ b/web/html/pkgsubmit.php
> @@ -397,6 +397,38 @@ 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 u.Email FROM Users u ';
> +                               $q.= 'INNER JOIN CommentNotify cn ON
> u.ID=cn.UserID ';
> +                               $q.= 'AND cn.UserID != ' . $uid  . ' ';
> +                               $q.= 'AND cn.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 at archlinux.org <javascript:;>\nFrom: aur-notify at archlinux.org<javascript:;>\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
>
>


More information about the aur-dev mailing list