forked from GNUsocial/gnu-social
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.
This commit is contained in:
parent
e328fd7901
commit
6f593a79d4
@ -1676,6 +1676,8 @@ class Notice extends Managed_DataObject
|
|||||||
|
|
||||||
$recipientIds = $this->getReplies();
|
$recipientIds = $this->getReplies();
|
||||||
if (Event::handle('StartNotifyMentioned', array($this, &$recipientIds))) {
|
if (Event::handle('StartNotifyMentioned', array($this, &$recipientIds))) {
|
||||||
|
require_once INSTALLDIR.'/lib/mail.php';
|
||||||
|
|
||||||
foreach ($recipientIds as $recipientId) {
|
foreach ($recipientIds as $recipientId) {
|
||||||
$user = User::getKV('id', $recipientId);
|
$user = User::getKV('id', $recipientId);
|
||||||
if ($user instanceof User) {
|
if ($user instanceof User) {
|
||||||
|
25
lib/mail.php
25
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
|
* want to receive notification of faves. Maybe this happens higher
|
||||||
* up the stack...?
|
* up the stack...?
|
||||||
*
|
*
|
||||||
* @param User $other The user whose notice was faved
|
* @param User $rcpt The user whose notice was faved
|
||||||
* @param User $user The user who faved the notice
|
* @param Profile $sender The user who faved the notice
|
||||||
* @param Notice $notice The notice that was faved
|
* @param Notice $notice The notice that was faved
|
||||||
*
|
*
|
||||||
* @return void
|
* @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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$profile = $user->getProfile();
|
if ($rcpt->hasBlocked($sender)) {
|
||||||
if ($other->hasBlocked($profile)) {
|
|
||||||
// If the author has blocked us, don't spam them with a notification.
|
// If the author has blocked us, don't spam them with a notification.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$bestname = $profile->getBestName();
|
$bestname = $profile->getBestName();
|
||||||
|
|
||||||
common_switch_locale($other->language);
|
common_switch_locale($rcpt->language);
|
||||||
|
|
||||||
// TRANS: Subject for favorite notification e-mail.
|
// 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.
|
// 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: 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,
|
// 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)),
|
array('notice' => $notice->id)),
|
||||||
$notice->content,
|
$notice->content,
|
||||||
common_local_url('showfavorites',
|
common_local_url('showfavorites',
|
||||||
array('nickname' => $user->nickname)),
|
array('nickname' => $sender->getNickname())),
|
||||||
common_config('site', 'name'),
|
common_config('site', 'name'),
|
||||||
$user->nickname) .
|
$sender->getNickname()) .
|
||||||
mail_footer_block();
|
mail_footer_block();
|
||||||
|
|
||||||
$headers = _mail_prepare_headers('fave', $other->nickname, $user->nickname);
|
$headers = _mail_prepare_headers('fave', $rcpt->getNickname(), $sender->getNickname());
|
||||||
|
|
||||||
common_switch_locale();
|
common_switch_locale();
|
||||||
mail_to_user($other, $subject, $body, $headers);
|
mail_to_user($rcpt, $subject, $body, $headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -164,7 +164,9 @@ class ApiFavoriteCreateAction extends ApiAuthAction
|
|||||||
$other = User::getKV('id', $notice->profile_id);
|
$other = User::getKV('id', $notice->profile_id);
|
||||||
if ($other && $other->id != $user->id) {
|
if ($other && $other->id != $user->id) {
|
||||||
if ($other->email && $other->emailnotifyfav) {
|
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 IM
|
||||||
// XXX: notify by SMS
|
// XXX: notify by SMS
|
||||||
|
@ -363,7 +363,9 @@ class AtompubfavoritefeedAction extends ApiAuthAction
|
|||||||
$other = User::getKV('id', $notice->profile_id);
|
$other = User::getKV('id', $notice->profile_id);
|
||||||
if ($other && $other->id != $user->id) {
|
if ($other && $other->id != $user->id) {
|
||||||
if ($other->email && $other->emailnotifyfav) {
|
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 IM
|
||||||
// XXX: notify by SMS
|
// XXX: notify by SMS
|
||||||
|
@ -40,7 +40,9 @@ class FavCommand extends Command
|
|||||||
|
|
||||||
if ($other && $other->id != $this->user->id) {
|
if ($other && $other->id != $this->user->id) {
|
||||||
if ($other->email && $other->emailnotifyfav) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user