On Wed, Sep 14, 2011 at 02:57:27PM +0200, Florian Pritz wrote:
> Signed-off-by: Florian Pritz <[email protected]>
> ---
>  web/lib/pkgfuncs.inc.php |   38 ++++++++++++++++++++++++++++++++++++++
>  1 files changed, 38 insertions(+), 0 deletions(-)
> 
> diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
> index 3e89fa3..2a83306 100644
> --- a/web/lib/pkgfuncs.inc.php
> +++ b/web/lib/pkgfuncs.inc.php
> @@ -710,6 +710,44 @@ function pkg_delete ($atype, $ids, $mergepkgid, 
> $dbh=NULL) {
>       }
>  
>       if ($mergepkgid) {
> +             $mergepkgname = pkgname_from_id($mergepkgid, $dbh);
> +     }
> +
> +     # Send email notifications
> +     foreach ($ids as $pkgid) {
> +             $q = 'SELECT CommentNotify.*, Users.Email ';
> +             $q.= 'FROM CommentNotify, Users ';
> +             $q.= 'WHERE Users.ID = CommentNotify.UserID ';
> +             $q.= 'AND CommentNotify.UserID != ' . 
> uid_from_sid($_COOKIE['AURSID']) . ' ';
> +             $q.= 'AND CommentNotify.PkgID = ' . $pkgid;
> +             $result = db_query($q, $dbh);
> +             $bcc = array();
> +
> +             while ($row = mysql_fetch_assoc($result)) {
> +                     array_push($bcc, $row['Email']);
> +             }
> +             if (!empty($bcc)) {
> +                     $pkgname = pkgname_from_id($pkgid);
> +
> +                     # 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 = "";
> +                     if ($mergepkgid) {
> +                             $body .= username_from_sid($_COOKIE['AURSID']) 
> . " merged \"".$pkgname."\" into \"$mergepkgname\".\n\n";
> +                             $body .= "You will no longer receive 
> notifications about this package, please go to 
> https://aur.archlinux.org/packages.php?ID=".$mergepkgid."; and click the 
> Notify button if you wish to recieve them again.";
> +                     } else {
> +                             $body .= username_from_sid($_COOKIE['AURSID']) 
> . " deleted \"".$pkgname."\".\n\n";
> +                             $body .= "You will no longer receive 
> notifications about this package.";
> +                     }
> +                     $body = wordwrap($body, 70);
> +                     $bcc = implode(', ', $bcc);
> +                     $headers = "Bcc: $bcc\nReply-to: 
> [email protected]\nFrom: [email protected]\nX-Mailer: AUR\n";
> +                     @mail(' ', "AUR Package deleted: " . $pkgname, $body, 
> $headers);
> +             }
> +     }
> +
> +     if ($mergepkgid) {
>               /* Merge comments */
>               $q = "UPDATE PackageComments ";
>               $q.= "SET PackageID = " . intval($mergepkgid) . " ";

Looks good now. I'm currently working on refactoring package deletion
anyway (create a separate deletion page with the possibility to select a
reason, like "Moved to the binary repositories." etc.) and will push
your patch alongside that patch series.

Thanks!

Reply via email to