function prepare($argarray)
{
$this->args =& common_copy_args($argarray);
+
+ if ($this->boolean('ajax')) {
+ StatusNet::setAjax(true);
+ }
+
return true;
}
function showPage()
{
- if ($this->minimal) {
+ if (StatusNet::isAjax()) {
+ $this->extraHeaders();
+ $this->ajaxErrorMsg();
+ exit();
+ } if ($this->minimal) {
// Even more minimal -- we're in a machine API
// and don't want to flood the output.
$this->extraHeaders();
function showNoticeForm()
{
}
+
+ /**
+ * Show an Ajax-y error message
+ *
+ * Goes back to the browser, where it's shown in a popup.
+ *
+ * @param string $msg Message to show
+ *
+ * @return void
+ */
+
+ function ajaxErrorMsg()
+ {
+ $this->startHTML('text/xml;charset=utf-8', true);
+ $this->elementStart('head');
+ // TRANS: Page title after an AJAX error occurs on the send notice page.
+ $this->element('title', null, _('Ajax Error'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $this->element('p', array('id' => 'error'), $this->message);
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ }
}
{
protected static $have_config;
protected static $is_api;
+ protected static $is_ajax;
protected static $plugins = array();
/**
self::$is_api = $mode;
}
+ public function isAjax()
+ {
+ return self::$is_ajax;
+ }
+
+ public function setAjax($mode)
+ {
+ self::$is_ajax = $mode;
+ }
+
/**
* Build default configuration array
* @return array