]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/error.php
Fix for regression introduced with my last update to the
[quix0rs-gnu-social.git] / lib / error.php
index 03065bc709c42c2ac0ebd4c4125a4f7b34c69c6a..a6a29119f7f612046f2f2c0075167c5d03acef84 100644 (file)
@@ -6,14 +6,14 @@
  * PHP version 5
  *
  * @category Action
- * @package  Laconica
- * @author   Evan Prodromou <evan@controlyourself.ca>
- * @author   Zach Copley <zach@controlyourself.ca>
+ * @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://laconi.ca/
+ * @link     http://status.net/
  *
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * 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
@@ -29,7 +29,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -37,24 +37,26 @@ if (!defined('LACONICA')) {
  * Base class for displaying HTTP errors
  *
  * @category Action
- * @package  Laconica
- * @author   Zach Copley <zach@controlyourself.ca>
+ * @package  StatusNet
+ * @author   Zach Copley <zach@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://laconi.ca/
+ * @link     http://status.net/
  */
 class ErrorAction extends Action
 {
+    static $status = array();
+
     var $code    = null;
     var $message = null;
-    var $status  = null;
     var $default = null;
 
-    function __construct($message, $code, $output='php://output', $indent=true)
+    function __construct($message, $code, $output='php://output', $indent=null)
     {
         parent::__construct($output, $indent);
 
         $this->code = $code;
         $this->message = $message;
+        $this->minimal = StatusNet::isApi();
 
         // XXX: hack alert: usually we aren't going to
         // call this page directly, but because it's
@@ -69,10 +71,10 @@ class ErrorAction extends Action
      */
     function extraHeaders()
     {
-        $status_string = $this->status[$this->code];
+        $status_string = @self::$status[$this->code];
         header('HTTP/1.1 '.$this->code.' '.$status_string);
     }
-    
+
     /**
      * Display content.
      *
@@ -88,20 +90,28 @@ class ErrorAction extends Action
      *
      * @return page title
      */
+
     function title()
     {
-        return $this->message;
+        return @self::$status[$this->code];
     }
 
-    function isReadOnly()
+    function isReadOnly($args)
     {
         return true;
     }
-    
-    function showPage() 
+
+    function showPage()
     {
-        parent::showPage();
-        
+        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();
     }
@@ -111,7 +121,7 @@ class ErrorAction extends Action
     function showBody()
     {
         $this->elementStart('body', array('id' => 'error'));
-        $this->elementStart('div', 'wrap');
+        $this->elementStart('div', array('id' => 'wrap'));
         $this->showHeader();
         $this->showCore();
         $this->showFooter();