create a method for notification for new messages, and use it

This commit is contained in:
Evan Prodromou 2009-12-15 10:31:25 -05:00
parent 19bb9a04d1
commit 797a0d79fb
4 changed files with 11 additions and 9 deletions

View File

@ -175,7 +175,7 @@ class ApiDirectMessageNewAction extends ApiAuthAction
return; return;
} }
mail_notify_message($message, $this->user, $this->other); $message->notify();
if ($this->format == 'xml') { if ($this->format == 'xml') {
$this->showSingleXmlDirectMessage($message); $this->showSingleXmlDirectMessage($message);

View File

@ -173,7 +173,7 @@ class NewmessageAction extends Action
return; return;
} }
$this->notify($user, $this->other, $message); $message->notify();
if ($this->boolean('ajax')) { if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8'); $this->startHTML('text/xml;charset=utf-8');
@ -247,12 +247,6 @@ class NewmessageAction extends Action
} }
} }
function notify($from, $to, $message)
{
mail_notify_message($message, $from, $to);
// XXX: Jabber, SMS notifications... probably queued
}
// Do nothing (override) // Do nothing (override)
function showNoticeForm() function showNoticeForm()

View File

@ -89,4 +89,12 @@ class Message extends Memcached_DataObject
$contentlimit = self::maxContent(); $contentlimit = self::maxContent();
return ($contentlimit > 0 && !empty($content) && (mb_strlen($content) > $contentlimit)); return ($contentlimit > 0 && !empty($content) && (mb_strlen($content) > $contentlimit));
} }
function notify()
{
$from = User::staticGet('id', $this->from_profile);
$to = User::staticGet('id', $this->to_profile);
mail_notify_message($this, $from, $to);
}
} }

View File

@ -372,7 +372,7 @@ class MessageCommand extends Command
} }
$message = Message::saveNew($this->user->id, $other->id, $this->text, $channel->source()); $message = Message::saveNew($this->user->id, $other->id, $this->text, $channel->source());
if ($message) { if ($message) {
mail_notify_message($message, $this->user, $other); $message->notify();
$channel->output($this->user, sprintf(_('Direct message to %s sent'), $this->other)); $channel->output($this->user, sprintf(_('Direct message to %s sent'), $this->other));
} else { } else {
$channel->error($this->user, _('Error sending direct message.')); $channel->error($this->user, _('Error sending direct message.'));