From 024dc6c09817da701cff275a29d41ae2d4d777e9 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sat, 14 Jun 2008 23:02:02 -0400 Subject: email notification on new subscriptions darcs-hash:20080615030202-84dde-ebed7919c227ce280dc818f301e15001eb8b5926.gz --- actions/subscribe.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'actions') 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 -- cgit v1.2.3-54-g00ecf