diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-07-20 15:55:49 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-07-20 15:55:49 -0400 |
commit | 3372a98f8eddd619a4a1fa7108b726e3f26acfcc (patch) | |
tree | 68eceff97cd3c907631fb722d514ba03bd3761f4 /lib/mail.php | |
parent | b6756fc8d1716be5f9daf1b1c0ba492bcb14c60e (diff) |
add sms broadcast to broadcasting
darcs-hash:20080720195549-84dde-4193f27f8efda497fbe55f1c514fe30e4dd8a69d.gz
Diffstat (limited to 'lib/mail.php')
-rw-r--r-- | lib/mail.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/mail.php b/lib/mail.php index 21a1c7a8f..c229414b0 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -157,3 +157,35 @@ function mail_new_incoming_address() { $suffix = mail_domain(); return $prefix . '@' . $suffix; } + +function mail_broadcast_notice_sms($notice) { + $user = new User(); + $user->smsnotify = 1; + $user->whereAdd('EXISTS (select subscriber from subscriptions where ' + ' subscriber = user.id and subscribed = ' . $notice->profile_id); + $user->whereAdd('sms is not null'); + + $cnt = $user->find(); + + while ($user->fetch()) { + mail_send_sms_notice($notice, $user); + } +} + +function mail_send_notice($notice, $user) { + $profile = $user->getProfile(); + $name = $profile->getBestName(); + $carrier = Sms_carrier::staticGet($user->carrier); + $sms_email = $carrier->toEmailAddress($user->sms); + $to = $name . ' <' . $sms_email . '>'; + $other = $notice->getProfile(); + + $headers = array(); + $headers['From'] = $user->incomingemail; + $headers['To'] = $name . ' <' . $sms_email . '>'; + $headers['Subject'] = sprintf(_('%s status on %s'), + $other->getBestName(), + common_exact_date($notice->created)); + $body = $notice->content; + mail_send($sms_email, $headers, $body); +} |