move mail notification to a utility function

darcs-hash:20080718041231-84dde-5953d417b76ae538fd501db11af9ff4a32bfbc9f.gz
This commit is contained in:
Evan Prodromou 2008-07-18 00:12:31 -04:00
parent 42bbd38417
commit 2ebe1fc61c
2 changed files with 24 additions and 19 deletions

View File

@ -69,28 +69,11 @@ class SubscribeAction extends Action {
function notify($listenee, $listener) { function notify($listenee, $listener) {
# XXX: add other notifications (Jabber, SMS) here # XXX: add other notifications (Jabber, SMS) here
# XXX: queue this and handle it offline # XXX: queue this and handle it offline
# XXX: Whatever happens, do it in Twitter-like API, too
$this->notify_email($listenee, $listener); $this->notify_email($listenee, $listener);
} }
function notify_email($listenee, $listener) { function notify_email($listenee, $listener) {
if ($listenee->email && $listenee->emailnotifysub) { mail_subscribe_notify($listenee, $listener);
$profile = $listenee->getProfile();
$other = $listener->getProfile();
$name = $profile->getBestName();
$long_name = ($other->fullname) ? ($other->fullname . ' (' . $other->nickname . ')') : $other->nickname;
$recipients = $listenee->email;
$headers['From'] = mail_notify_from();
$headers['To'] = $name . ' <' . $listenee->email . '>';
$headers['Subject'] = sprintf(_('%1$s is now listening to your notices on %2$s.'), $other->getBestName(),
common_config('site', 'name'));
$body = sprintf(_('%1$s is now listening to your notices on %2$s.'."\n\n".
"\t".'%3$s'."\n\n".
'Faithfully yours,'."\n".'%4$s.'."\n"),
$long_name,
common_config('site', 'name'),
$other->profileurl,
common_config('site', 'name'));
mail_send($recipients, $headers, $body);
}
} }
} }

View File

@ -99,3 +99,25 @@ function mail_confirm_address($code, $nickname, $address) {
mail_send($recipients, $headers, $body); mail_send($recipients, $headers, $body);
} }
function mail_subscribe_notify($listenee, $listener) {
if ($listenee->email && $listenee->emailnotifysub) {
$profile = $listenee->getProfile();
$other = $listener->getProfile();
$name = $profile->getBestName();
$long_name = ($other->fullname) ? ($other->fullname . ' (' . $other->nickname . ')') : $other->nickname;
$recipients = $listenee->email;
$headers['From'] = mail_notify_from();
$headers['To'] = $name . ' <' . $listenee->email . '>';
$headers['Subject'] = sprintf(_('%1$s is now listening to your notices on %2$s.'), $other->getBestName(),
common_config('site', 'name'));
$body = sprintf(_('%1$s is now listening to your notices on %2$s.'."\n\n".
"\t".'%3$s'."\n\n".
'Faithfully yours,'."\n".'%4$s.'."\n"),
$long_name,
common_config('site', 'name'),
$other->profileurl,
common_config('site', 'name'));
mail_send($recipients, $headers, $body);
}
}