From: Mikael Nordfeldth Date: Sun, 13 Jul 2014 10:56:43 +0000 (+0200) Subject: making more sense in mail_notify_fav X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6f593a79d4b090b6afb6353a1f7e50f3fbfdc1b6;p=quix0rs-gnu-social.git making more sense in mail_notify_fav We should probably get rid of this function, at least storing everything in lib/mail.php - but until then, at least let's make it more understandable. --- diff --git a/classes/Notice.php b/classes/Notice.php index 55af2d1b6e..01827245c3 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1676,6 +1676,8 @@ class Notice extends Managed_DataObject $recipientIds = $this->getReplies(); if (Event::handle('StartNotifyMentioned', array($this, &$recipientIds))) { + require_once INSTALLDIR.'/lib/mail.php'; + foreach ($recipientIds as $recipientId) { $user = User::getKV('id', $recipientId); if ($user instanceof User) { diff --git a/lib/mail.php b/lib/mail.php index 7b6c1d50fe..182c95ea48 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -666,31 +666,30 @@ function mail_notify_message($message, $from=null, $to=null) * want to receive notification of faves. Maybe this happens higher * up the stack...? * - * @param User $other The user whose notice was faved - * @param User $user The user who faved the notice - * @param Notice $notice The notice that was faved + * @param User $rcpt The user whose notice was faved + * @param Profile $sender The user who faved the notice + * @param Notice $notice The notice that was faved * * @return void */ -function mail_notify_fave($other, $user, $notice) +function mail_notify_fave(User $rcpt, Profile $sender, Notice $notice) { - if (!$user->hasRight(Right::EMAILONFAVE)) { + if (!$sender->hasRight(Right::EMAILONFAVE)) { return; } - $profile = $user->getProfile(); - if ($other->hasBlocked($profile)) { + if ($rcpt->hasBlocked($sender)) { // If the author has blocked us, don't spam them with a notification. return; } $bestname = $profile->getBestName(); - common_switch_locale($other->language); + common_switch_locale($rcpt->language); // TRANS: Subject for favorite notification e-mail. // TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname. - $subject = sprintf(_('%1$s (@%2$s) added your notice as a favorite'), $bestname, $user->nickname); + $subject = sprintf(_('%1$s (@%2$s) added your notice as a favorite'), $bestname, $sender->getNickname()); // TRANS: Body for favorite notification e-mail. // TRANS: %1$s is the adding user's long name, $2$s is the date the notice was created, @@ -711,15 +710,15 @@ function mail_notify_fave($other, $user, $notice) array('notice' => $notice->id)), $notice->content, common_local_url('showfavorites', - array('nickname' => $user->nickname)), + array('nickname' => $sender->getNickname())), common_config('site', 'name'), - $user->nickname) . + $sender->getNickname()) . mail_footer_block(); - $headers = _mail_prepare_headers('fave', $other->nickname, $user->nickname); + $headers = _mail_prepare_headers('fave', $rcpt->getNickname(), $sender->getNickname()); common_switch_locale(); - mail_to_user($other, $subject, $body, $headers); + mail_to_user($rcpt, $subject, $body, $headers); } /** diff --git a/plugins/Favorite/actions/apifavoritecreate.php b/plugins/Favorite/actions/apifavoritecreate.php index 00c1e21bbf..4172692441 100644 --- a/plugins/Favorite/actions/apifavoritecreate.php +++ b/plugins/Favorite/actions/apifavoritecreate.php @@ -164,7 +164,9 @@ class ApiFavoriteCreateAction extends ApiAuthAction $other = User::getKV('id', $notice->profile_id); if ($other && $other->id != $user->id) { if ($other->email && $other->emailnotifyfav) { - mail_notify_fave($other, $user, $notice); + require_once INSTALLDIR.'/lib/mail.php'; + + mail_notify_fave($other, $user->getProfile(), $notice); } // XXX: notify by IM // XXX: notify by SMS diff --git a/plugins/Favorite/actions/atompubfavoritefeed.php b/plugins/Favorite/actions/atompubfavoritefeed.php index cbbe91ae55..4ff76e183d 100644 --- a/plugins/Favorite/actions/atompubfavoritefeed.php +++ b/plugins/Favorite/actions/atompubfavoritefeed.php @@ -363,7 +363,9 @@ class AtompubfavoritefeedAction extends ApiAuthAction $other = User::getKV('id', $notice->profile_id); if ($other && $other->id != $user->id) { if ($other->email && $other->emailnotifyfav) { - mail_notify_fave($other, $user, $notice); + require_once INSTALLDIR.'/lib/mail.php'; + + mail_notify_fave($other, $user->getProfile(), $notice); } // XXX: notify by IM // XXX: notify by SMS diff --git a/plugins/Favorite/lib/favcommand.php b/plugins/Favorite/lib/favcommand.php index 41fd0b0b88..65ccdaae4b 100644 --- a/plugins/Favorite/lib/favcommand.php +++ b/plugins/Favorite/lib/favcommand.php @@ -40,7 +40,9 @@ class FavCommand extends Command if ($other && $other->id != $this->user->id) { if ($other->email && $other->emailnotifyfav) { - mail_notify_fave($other, $this->user, $notice); + require_once INSTALLDIR.'/lib/mail.php'; + + mail_notify_fave($other, $this->user->getProfile(), $notice); } }