diff options
-rw-r--r-- | actions/newnotice.php | 6 | ||||
-rw-r--r-- | classes/Channel.php | 27 |
2 files changed, 32 insertions, 1 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php index 932099c60..8ac36320d 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -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; } diff --git a/classes/Channel.php b/classes/Channel.php index 87f02b316..34735c450 100644 --- a/classes/Channel.php +++ b/classes/Channel.php @@ -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; |