different message source per command channel

darcs-hash:20081004173427-5ed1f-2a818562f5aa7143b68a0eab3e9f26cd02926c0b.gz
This commit is contained in:
Evan Prodromou 2008-10-04 13:34:27 -04:00
parent 6406d5f8ef
commit 4d30c534d9
2 changed files with 17 additions and 1 deletions

View File

@ -36,12 +36,20 @@ class Channel {
function error($user, $text) {
return false;
}
function source() {
return NULL;
}
}
class XMPPChannel extends Channel {
var $conn = NULL;
function source() {
return 'xmpp';
}
function __construct($conn) {
$this->conn = $conn;
}
@ -85,6 +93,10 @@ class XMPPChannel extends Channel {
class WebChannel extends Channel {
function source() {
return 'web';
}
function on($user) {
return false;
}
@ -110,6 +122,10 @@ class WebChannel extends Channel {
class MailChannel extends Channel {
var $addr = NULL;
function source() {
return 'mail';
}
function __construct($addr=NULL) {
$this->addr = $addr;

View File

@ -202,7 +202,7 @@ class MessageCommand extends Command {
$channel->error($this->user, _('Don\'t send a message to yourself; just say it to yourself quietly instead.'));
return;
}
$message = Message::saveNew($this->user->id, $other->id, $body, 'xmpp');
$message = Message::saveNew($this->user->id, $other->id, $this->text, $channel->source());
if ($message) {
$channel->output($this->user, sprintf(_('Direct message to %s sent'), $this->other));
} else {