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;
}
mail_notify_message($message, $this->user, $this->other);
$message->notify();
if ($this->format == 'xml') {
$this->showSingleXmlDirectMessage($message);

View File

@ -173,7 +173,7 @@ class NewmessageAction extends Action
return;
}
$this->notify($user, $this->other, $message);
$message->notify();
if ($this->boolean('ajax')) {
$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)
function showNoticeForm()

View File

@ -89,4 +89,12 @@ class Message extends Memcached_DataObject
$contentlimit = self::maxContent();
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());
if ($message) {
mail_notify_message($message, $this->user, $other);
$message->notify();
$channel->output($this->user, sprintf(_('Direct message to %s sent'), $this->other));
} else {
$channel->error($this->user, _('Error sending direct message.'));