Merge "AJAXify watchlist editor"
[lhc/web/wiklou.git] / includes / Status.php
index 01b824f..a2df380 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * Generic operation result.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
 
 /**
  * Generic operation result class
@@ -18,7 +38,7 @@ class Status {
 
        /** Counters for batch operations */
        public $successCount = 0, $failCount = 0;
-       /** Array to indicate which items of the batch operations failed */
+       /** Array to indicate which items of the batch operations were successful */
        public $success = array();
 
        /*semi-private*/ var $errors = array();
@@ -28,6 +48,7 @@ class Status {
         * Factory function for fatal errors
         *
         * @param $message String: message name
+        * @return Status
         */
        static function newFatal( $message /*, parameters...*/ ) {
                $params = func_get_args();
@@ -41,6 +62,7 @@ class Status {
         * Factory function for good results
         *
         * @param $value Mixed
+        * @return Status
         */
        static function newGood( $value = null ) {
                $result = new self;
@@ -51,7 +73,7 @@ class Status {
        /**
         * Change operation result
         *
-        * @param $ok Boolean: whether to operation completed
+        * @param $ok Boolean: whether the operation completed
         * @param $value Mixed
         */
        function setResult( $ok, $value = null ) {
@@ -127,6 +149,10 @@ class Status {
                $this->cleanCallback = false;
        }
 
+       /**
+        * @param $params array
+        * @return array
+        */
        protected function cleanParams( $params ) {
                if ( !$this->cleanCallback ) {
                        return $params;
@@ -138,6 +164,10 @@ class Status {
                return $cleanParams;
        }
 
+       /**
+        * @param $item
+        * @return string
+        */
        protected function getItemXML( $item ) {
                $params = $this->cleanParams( $item['params'] );
                $xml = "<{$item['type']}>\n" .
@@ -146,12 +176,13 @@ class Status {
                foreach ( $params as $param ) {
                        $xml .= Xml::element( 'param', null, $param );
                }
-               $xml .= "</{$this->type}>\n";
+               $xml .= "</{$item['type']}>\n";
                return $xml;
        }
 
        /**
         * Get the error list as XML
+        * @return string
         */
        function getXML() {
                $xml = "<errors>\n";
@@ -285,11 +316,11 @@ class Status {
                }
                return $result;
        }
-       
+
        /**
         * Returns a list of status messages of the given type, with message and
         * params left untouched, like a sane version of getStatusArray
-        * 
+        *
         * @param $type String
         *
         * @return Array
@@ -299,7 +330,7 @@ class Status {
                foreach ( $this->errors as $error ) {
                        if ( $error['type'] === $type ) {
                                $result[] = $error;
-                       }               
+                       }
                }
                return $result;
        }
@@ -320,10 +351,12 @@ class Status {
        }
 
        /**
-        * If the specified source message exists, replace it with the specified 
+        * If the specified source message exists, replace it with the specified
         * destination message, but keep the same parameters as in the original error.
         *
         * Return true if the replacement was done, false otherwise.
+        *
+        * @return bool
         */
        function replaceMessage( $source, $dest ) {
                $replaced = false;
@@ -344,4 +377,11 @@ class Status {
        public function getMessage() {
                return $this->getWikiText();
        }
+
+       /**
+        * @return mixed
+        */
+       public function getValue() {
+               return $this->value;
+       }
 }