We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit c2aaa22f authored by Evan Prodromou's avatar Evan Prodromou

use smsemail stored value

darcs-hash:20080721042302-84dde-b077675affa13a761ba07b4c5ac4ff667cf00eb2.gz
parent a4edf5da
...@@ -159,7 +159,9 @@ function mail_new_incoming_address() { ...@@ -159,7 +159,9 @@ function mail_new_incoming_address() {
} }
function mail_broadcast_notice_sms($notice) { function mail_broadcast_notice_sms($notice) {
$user = new User(); $user = new User();
$user->smsnotify = 1; $user->smsnotify = 1;
$user->whereAdd('EXISTS (select subscriber from subscriptions where ' . $user->whereAdd('EXISTS (select subscriber from subscriptions where ' .
' subscriber = user.id and subscribed = ' . $notice->profile_id); ' subscriber = user.id and subscribed = ' . $notice->profile_id);
...@@ -175,7 +177,7 @@ function mail_broadcast_notice_sms($notice) { ...@@ -175,7 +177,7 @@ function mail_broadcast_notice_sms($notice) {
function mail_send_notice($notice, $user) { function mail_send_notice($notice, $user) {
$profile = $user->getProfile(); $profile = $user->getProfile();
$name = $profile->getBestName(); $name = $profile->getBestName();
$to = $name . ' <' . $sms_email . '>'; $to = $name . ' <' . $user->smsemail . '>';
$other = $notice->getProfile(); $other = $notice->getProfile();
$headers = array(); $headers = array();
......
...@@ -31,6 +31,9 @@ require_once(INSTALLDIR . '/lib/common.php'); ...@@ -31,6 +31,9 @@ require_once(INSTALLDIR . '/lib/common.php');
require_once(INSTALLDIR . '/lib/mail.php'); require_once(INSTALLDIR . '/lib/mail.php');
require_once('Mail/mimeDecode.php'); require_once('Mail/mimeDecode.php');
# FIXME: we use both Mail_mimeDecode and mailparse
# Need to move everything to mailparse
class MailerDaemon { class MailerDaemon {
function __construct() { function __construct() {
...@@ -49,12 +52,16 @@ class MailerDaemon { ...@@ -49,12 +52,16 @@ class MailerDaemon {
} }
if (!$this->user_match_to($user, $to)) { if (!$this->user_match_to($user, $to)) {
$this->error($from, _('Sorry, that is not your incoming email address.')); $this->error($from, _('Sorry, that is not your incoming email address.'));
return false;
} }
if (!$user->emailpost) { if (!$user->emailpost) {
$this->error($from, _('Sorry, no incoming email allowed.'));
return false;
} }
$response = $this->handle_command($user, $msg); $response = $this->handle_command($user, $msg);
if ($response) { if ($response) {
$this->respond($from, $to, $response); $this->respond($from, $to, $response);
return true;
} }
$msg = $this->cleanup_msg($msg); $msg = $this->cleanup_msg($msg);
$this->add_notice($user, $msg); $this->add_notice($user, $msg);
...@@ -71,7 +78,12 @@ class MailerDaemon { ...@@ -71,7 +78,12 @@ class MailerDaemon {
return NULL; return NULL;
} }
$from = $froms[0]; $from = $froms[0];
return User::staticGet('email', common_canonical_email($from['address'])); $addr = common_canonical_email($from['address']);
$user = User::staticGet('email', $addr);
if (!$user) {
$user = User::staticGet('smsemail', $addr);
}
return $user;
} }
function user_match_to($user, $to_hdr) { function user_match_to($user, $to_hdr) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment