diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-06-14 23:02:02 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-06-14 23:02:02 -0400 |
commit | 024dc6c09817da701cff275a29d41ae2d4d777e9 (patch) | |
tree | 7d167dbfa3e9c45db0c088b224f9a2a9b22bce4b /actions | |
parent | 025dcb985260f5c61e85027664908ea8a57d48c5 (diff) |
email notification on new subscriptions
darcs-hash:20080615030202-84dde-ebed7919c227ce280dc818f301e15001eb8b5926.gz
Diffstat (limited to 'actions')
-rw-r--r-- | actions/subscribe.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/actions/subscribe.php b/actions/subscribe.php index 522c31593..9a1d43fa5 100644 --- a/actions/subscribe.php +++ b/actions/subscribe.php @@ -55,7 +55,44 @@ class SubscribeAction extends Action { return; } + $this->notify($other, $user); + common_redirect(common_local_url('subscriptions', array('nickname' => $user->nickname))); } + + function notify($listenee, $listener) { + # XXX: add other notifications (Jabber, SMS) here + # XXX: queue this and handle it offline + $this->notify_email($listenee, $listener); + } + + function notify_email($listenee, $listener) { + if ($listenee->email) { + global $config; + $profile = $listenee->getProfile(); + $other = $listener->getProfile(); + $name = $profile->getBestName(); + $other_name = $other->getBestName(); + $recipients = $listenee->email; + $headers['From'] = mail_notify_from(); + $headers['To'] = $name . ' <' . $listenee->email . '>'; + $headers['Subject'] = $other_name . _t(' is now listening to your notices on ') . $config['site']['name']; + + $body = + ($other->fullname) ? + ($other->fullname . ' (' . $other->nickname . ')') : $other->nickname; + + $body .= _t(' is now listening to your notices on ') . $config['site']['name'] . '.'; + $body .= "\n\n"; + $body .= "\t".$other->profileurl; + $body .= "\n\n"; + $body .= _t('Faithfully yours, '); + $body .= "\n"; + $body .= $config['site']['name']; + $body .= "\n"; + + mail_send($recipients, $headers, $body); + } + } }
\ No newline at end of file |