New AjaxWebChannel for returning ajaxy responses to notice input box commands

darcs-hash:20081209210654-7b5ce-2ef432aa8cb7bf5cc1a973a71eb70e6b2aae4ab6.gz
This commit is contained in:
Zach Copley 2008-12-09 16:06:54 -05:00
parent 792cb7a535
commit 407ce3bd8f
2 changed files with 32 additions and 1 deletions

View File

@ -66,7 +66,11 @@ class NewnoticeAction extends Action {
$cmd = $inter->handle_command($user, $content_shortened);
if ($cmd) {
$cmd->execute(new WebChannel());
if ($this->boolean('ajax')) {
$cmd->execute(new AjaxWebChannel());
} else {
$cmd->execute(new WebChannel());
}
return;
}

View File

@ -120,6 +120,33 @@ class WebChannel extends Channel {
}
}
class AjaxWebChannel extends WebChannel {
function output($user, $text) {
common_start_html('text/xml;charset=utf-8', false);
common_element_start('head');
common_element('title', null, _('Command results'));
common_element_end('head');
common_element_start('body');
common_element('p', array('class' => 'command_results'), $text);
common_element_end('body');
common_element_end('html');
}
function error($user, $text) {
common_start_html('text/xml;charset=utf-8', false);
common_element_start('head');
common_element('title', null, _('Ajax Error'));
common_element_end('head');
common_element_start('body');
common_element('p', array('class' => 'error'), $text);
common_element_end('body');
common_element_end('html');
}
}
class MailChannel extends Channel {
var $addr = NULL;