And while I'm at it: removed unused global declarations of $wgFeedClasses
[lhc/web/wiklou.git] / includes / Status.php
index 98602cf..4bceb2e 100644 (file)
@@ -84,6 +84,13 @@ class Status {
                $this->ok = false;
        }
 
+       /**
+        * Sanitize the callback parameter on wakeup, to avoid arbitrary execution.
+        */
+       function __wakeup() {
+               $this->cleanCallback = false;
+       }
+
        protected function cleanParams( $params ) {
                if ( !$this->cleanCallback ) {
                        return $params;
@@ -152,7 +159,7 @@ class Status {
                        if ( $longContext ) {
                                $s = wfMsgNoTrans( $longContext, $s );
                        } elseif ( $shortContext ) {
-                               $s = wfMsgNoTrans( $shortContext, "\n$s\n" );
+                               $s = wfMsgNoTrans( $shortContext, "\n$s\n" );
                        }
                }
                return $s;
@@ -170,4 +177,28 @@ class Status {
                $this->successCount += $other->successCount;
                $this->failCount += $other->failCount;
        }
+       
+       function getErrorsArray() {
+               $result = array();
+               foreach ( $this->errors as $error ) {
+                       if ( $error['type'] == 'error' )
+                               if( $error['params'] )
+                                       $result[] = array_merge( array( $error['message'] ), $error['params'] );
+                               else
+                                       $result[] = $error['message'];
+               }
+               return $result;
+       }
+
+       /**
+        * Returns true if the specified message is present as a warning or error
+        */
+       function hasMessage( $msg ) {
+               foreach ( $this->errors as $error ) {
+                       if ( $error['message'] === $msg ) {
+                               return true;
+                       }
+               }
+               return false;
+       }
 }