Add WatchedItemStore::getWatchedItemsForUser
[lhc/web/wiklou.git] / includes / Message.php
index 54efd26..9d5f5e6 100644 (file)
@@ -188,7 +188,7 @@ class Message implements MessageSpecifier, Serializable {
        /**
         * @var array List of parameters which will be substituted into the message.
         */
-       protected $parameters = array();
+       protected $parameters = [];
 
        /**
         * Format for the message.
@@ -234,7 +234,7 @@ class Message implements MessageSpecifier, Serializable {
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( $key, $params = array(), Language $language = null ) {
+       public function __construct( $key, $params = [], Language $language = null ) {
                global $wgLang;
 
                if ( $key instanceof MessageSpecifier ) {
@@ -269,16 +269,16 @@ class Message implements MessageSpecifier, Serializable {
         * @return string
         */
        public function serialize() {
-               return serialize( array(
+               return serialize( [
                        'interface' => $this->interface,
-                       'language' => $this->language->getCode(),
+                       'language' => $this->language instanceof StubUserLang ? false : $this->language->getCode(),
                        'key' => $this->key,
                        'keysToTry' => $this->keysToTry,
                        'parameters' => $this->parameters,
                        'format' => $this->format,
                        'useDatabase' => $this->useDatabase,
                        'title' => $this->title,
-               ) );
+               ] );
        }
 
        /**
@@ -287,6 +287,8 @@ class Message implements MessageSpecifier, Serializable {
         * @param string $serialized
         */
        public function unserialize( $serialized ) {
+               global $wgLang;
+
                $data = unserialize( $serialized );
                $this->interface = $data['interface'];
                $this->key = $data['key'];
@@ -294,7 +296,7 @@ class Message implements MessageSpecifier, Serializable {
                $this->parameters = $data['parameters'];
                $this->format = $data['format'];
                $this->useDatabase = $data['useDatabase'];
-               $this->language = Language::factory( $data['language'] );
+               $this->language = $data['language'] ? Language::factory( $data['language'] ) : $wgLang;
                $this->title = $data['title'];
        }
 
@@ -778,7 +780,7 @@ class Message implements MessageSpecifier, Serializable {
                # Replace $* with a list of parameters for &uselang=qqx.
                if ( strpos( $string, '$*' ) !== false ) {
                        $paramlist = '';
-                       if ( $this->parameters !== array() ) {
+                       if ( $this->parameters !== [] ) {
                                $paramlist = ': $' . implode( ', $', range( 1, count( $this->parameters ) ) );
                        }
                        $string = str_replace( '$*', $paramlist, $string );
@@ -808,7 +810,7 @@ class Message implements MessageSpecifier, Serializable {
 
        /**
         * Magic method implementation of the above (for PHP >= 5.2.0), so we can do, eg:
-        *     $foo = Message::get( $key );
+        *     $foo = new Message( $key );
         *     $string = "<abbr>$foo</abbr>";
         *
         * @since 1.18
@@ -941,7 +943,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return array Array with a single "raw" key.
         */
        public static function rawParam( $raw ) {
-               return array( 'raw' => $raw );
+               return [ 'raw' => $raw ];
        }
 
        /**
@@ -952,7 +954,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return array Array with a single "num" key.
         */
        public static function numParam( $num ) {
-               return array( 'num' => $num );
+               return [ 'num' => $num ];
        }
 
        /**
@@ -963,7 +965,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return int[] Array with a single "duration" key.
         */
        public static function durationParam( $duration ) {
-               return array( 'duration' => $duration );
+               return [ 'duration' => $duration ];
        }
 
        /**
@@ -974,7 +976,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return string[] Array with a single "expiry" key.
         */
        public static function expiryParam( $expiry ) {
-               return array( 'expiry' => $expiry );
+               return [ 'expiry' => $expiry ];
        }
 
        /**
@@ -985,7 +987,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return number[] Array with a single "period" key.
         */
        public static function timeperiodParam( $period ) {
-               return array( 'period' => $period );
+               return [ 'period' => $period ];
        }
 
        /**
@@ -996,7 +998,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return int[] Array with a single "size" key.
         */
        public static function sizeParam( $size ) {
-               return array( 'size' => $size );
+               return [ 'size' => $size ];
        }
 
        /**
@@ -1007,7 +1009,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return int[] Array with a single "bitrate" key.
         */
        public static function bitrateParam( $bitrate ) {
-               return array( 'bitrate' => $bitrate );
+               return [ 'bitrate' => $bitrate ];
        }
 
        /**
@@ -1018,7 +1020,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return string[] Array with a single "plaintext" key.
         */
        public static function plaintextParam( $plaintext ) {
-               return array( 'plaintext' => $plaintext );
+               return [ 'plaintext' => $plaintext ];
        }
 
        /**
@@ -1032,7 +1034,7 @@ class Message implements MessageSpecifier, Serializable {
         * @return string
         */
        protected function replaceParameters( $message, $type = 'before' ) {
-               $replacementKeys = array();
+               $replacementKeys = [];
                foreach ( $this->parameters as $n => $param ) {
                        list( $paramType, $value ) = $this->extractParam( $param );
                        if ( $type === $paramType ) {
@@ -1055,23 +1057,23 @@ class Message implements MessageSpecifier, Serializable {
        protected function extractParam( $param ) {
                if ( is_array( $param ) ) {
                        if ( isset( $param['raw'] ) ) {
-                               return array( 'after', $param['raw'] );
+                               return [ 'after', $param['raw'] ];
                        } elseif ( isset( $param['num'] ) ) {
                                // Replace number params always in before step for now.
                                // No support for combined raw and num params
-                               return array( 'before', $this->language->formatNum( $param['num'] ) );
+                               return [ 'before', $this->language->formatNum( $param['num'] ) ];
                        } elseif ( isset( $param['duration'] ) ) {
-                               return array( 'before', $this->language->formatDuration( $param['duration'] ) );
+                               return [ 'before', $this->language->formatDuration( $param['duration'] ) ];
                        } elseif ( isset( $param['expiry'] ) ) {
-                               return array( 'before', $this->language->formatExpiry( $param['expiry'] ) );
+                               return [ 'before', $this->language->formatExpiry( $param['expiry'] ) ];
                        } elseif ( isset( $param['period'] ) ) {
-                               return array( 'before', $this->language->formatTimePeriod( $param['period'] ) );
+                               return [ 'before', $this->language->formatTimePeriod( $param['period'] ) ];
                        } elseif ( isset( $param['size'] ) ) {
-                               return array( 'before', $this->language->formatSize( $param['size'] ) );
+                               return [ 'before', $this->language->formatSize( $param['size'] ) ];
                        } elseif ( isset( $param['bitrate'] ) ) {
-                               return array( 'before', $this->language->formatBitrate( $param['bitrate'] ) );
+                               return [ 'before', $this->language->formatBitrate( $param['bitrate'] ) ];
                        } elseif ( isset( $param['plaintext'] ) ) {
-                               return array( 'after', $this->formatPlaintext( $param['plaintext'] ) );
+                               return [ 'after', $this->formatPlaintext( $param['plaintext'] ) ];
                        } else {
                                $warning = 'Invalid parameter for message "' . $this->getKey() . '": ' .
                                        htmlspecialchars( serialize( $param ) );
@@ -1079,15 +1081,15 @@ class Message implements MessageSpecifier, Serializable {
                                $e = new Exception;
                                wfDebugLog( 'Bug58676', $warning . "\n" . $e->getTraceAsString() );
 
-                               return array( 'before', '[INVALID]' );
+                               return [ 'before', '[INVALID]' ];
                        }
                } elseif ( $param instanceof Message ) {
                        // Message objects should not be before parameters because
                        // then they'll get double escaped. If the message needs to be
                        // escaped, it'll happen right here when we call toString().
-                       return array( 'after', $param->toString() );
+                       return [ 'after', $param->toString() ];
                } else {
-                       return array( 'before', $param );
+                       return [ 'before', $param ];
                }
        }
 
@@ -1210,7 +1212,7 @@ class RawMessage extends Message {
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( $text, $params = array() ) {
+       public function __construct( $text, $params = [] ) {
                if ( !is_string( $text ) ) {
                        throw new InvalidArgumentException( '$text must be a string' );
                }