]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
ErrorAction to autodiscoverable file.
authorMikael Nordfeldth <mmn@hethane.se>
Thu, 14 Jan 2016 20:21:34 +0000 (21:21 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Thu, 14 Jan 2016 20:21:34 +0000 (21:21 +0100)
lib/action.php
lib/clienterroraction.php
lib/error.php [deleted file]
lib/erroraction.php [new file with mode: 0644]
lib/servererroraction.php

index 68019ce108c444afd0e40e0cce85fb235859a600..71441a31ffe2bb2a8764ba523ec382db855e95c1 100644 (file)
@@ -1457,6 +1457,8 @@ class Action extends HTMLOutputter // lawsuit
             break;
         default:
             common_log(LOG_ERR, 'Handled serverError ('._ve($code).') but cannot output into desired format ('._ve($this->format).'): '._ve($msg));
+            $action = new ServerErrorAction($msg, $code);
+            $action->execute();
         }
 
         exit((int)$code);
@@ -1513,6 +1515,8 @@ class Action extends HTMLOutputter // lawsuit
             break;
         default:
             common_log(LOG_ERR, 'Handled clientError ('._ve($code).') but cannot output into desired format ('._ve($this->format).'): '._ve($msg));
+            $action = new ClientErrorAction($msg, $code);
+            $action->execute();
         }
         exit((int)$code);
     }
index 37f722291e53e1525f0eb532a4f918887d923aec..c2e35e62ee8e0f5f24822e451395314597eba7ff 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-require_once INSTALLDIR . '/lib/error.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Class for displaying HTTP client errors
diff --git a/lib/error.php b/lib/error.php
deleted file mode 100644 (file)
index 03a1960..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/**
- * Error action.
- *
- * PHP version 5
- *
- * @category Action
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @author   Zach Copley <zach@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- *
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-/**
- * Base class for displaying HTTP errors
- *
- * @category Action
- * @package  StatusNet
- * @author   Zach Copley <zach@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- */
-class ErrorAction extends InfoAction
-{
-    static $status = array();
-
-    var $code    = null;
-    var $message = null;
-    var $default = null;
-
-    function __construct($message, $code, $output='php://output', $indent=null)
-    {
-        parent::__construct(null, $message, $output, $indent);
-
-        $this->code = $code;
-        $this->message = $message;
-        $this->minimal = GNUsocial::isApi();
-
-        // XXX: hack alert: usually we aren't going to
-        // call this page directly, but because it's
-        // an action it needs an args array anyway
-        $this->prepare($_REQUEST);
-    }
-
-    function showPage()
-    {
-        if (GNUsocial::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();
-            $this->showContent();
-        } else {
-            parent::showPage();
-        }
-
-        // We don't want to have any more output after this
-        exit();
-    }
-
-    /**
-     * Display content.
-     *
-     * @return nothing
-     */
-    function showContent()
-    {
-        $this->element('div', array('class' => 'error'), $this->message);
-    }
-
-    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->endHTML();
-    }
-}
diff --git a/lib/erroraction.php b/lib/erroraction.php
new file mode 100644 (file)
index 0000000..03a1960
--- /dev/null
@@ -0,0 +1,122 @@
+<?php
+
+/**
+ * Error action.
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @author   Zach Copley <zach@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+    exit(1);
+}
+
+/**
+ * Base class for displaying HTTP errors
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Zach Copley <zach@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ */
+class ErrorAction extends InfoAction
+{
+    static $status = array();
+
+    var $code    = null;
+    var $message = null;
+    var $default = null;
+
+    function __construct($message, $code, $output='php://output', $indent=null)
+    {
+        parent::__construct(null, $message, $output, $indent);
+
+        $this->code = $code;
+        $this->message = $message;
+        $this->minimal = GNUsocial::isApi();
+
+        // XXX: hack alert: usually we aren't going to
+        // call this page directly, but because it's
+        // an action it needs an args array anyway
+        $this->prepare($_REQUEST);
+    }
+
+    function showPage()
+    {
+        if (GNUsocial::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();
+            $this->showContent();
+        } else {
+            parent::showPage();
+        }
+
+        // We don't want to have any more output after this
+        exit();
+    }
+
+    /**
+     * Display content.
+     *
+     * @return nothing
+     */
+    function showContent()
+    {
+        $this->element('div', array('class' => 'error'), $this->message);
+    }
+
+    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->endHTML();
+    }
+}
index c8e3067b825c7098d27a8372cd3652bcfbada196..2f9a6585c2cf23044a513083c7f132866321af3e 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-require_once INSTALLDIR.'/lib/error.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Class for displaying HTTP server errors