Merge "Don't check namespace in SpecialWantedtemplates"
[lhc/web/wiklou.git] / includes / MagicWord.php
index 4b24a00..2c7ba91 100644 (file)
@@ -330,15 +330,12 @@ class MagicWord {
         */
        function load( $id ) {
                global $wgContLang;
-               wfProfileIn( __METHOD__ );
                $this->mId = $id;
                $wgContLang->getMagic( $this );
                if ( !$this->mSynonyms ) {
                        $this->mSynonyms = array( 'brionmademeputthishere' );
-                       wfProfileOut( __METHOD__ );
                        throw new MWException( "Error: invalid magic word '$id'" );
                }
-               wfProfileOut( __METHOD__ );
        }
 
        /**
@@ -655,7 +652,7 @@ class MagicWord {
         * This method uses the php feature to do several replacements at the same time,
         * thereby gaining some efficiency. The result is placed in the out variable
         * $result. The return value is true if something was replaced.
-        * @todo Should this be static? It doesn't seem to be used at all
+        * @deprecated since 1.25, unused
         *
         * @param array $magicarr
         * @param string $subject
@@ -664,6 +661,7 @@ class MagicWord {
         * @return bool
         */
        function replaceMultiple( $magicarr, $subject, &$result ) {
+               wfDeprecated( __METHOD__, '1.25' );
                $search = array();
                $replace = array();
                foreach ( $magicarr as $id => $replacement ) {
@@ -720,9 +718,6 @@ class MagicWordArray {
 
        private $regex;
 
-       /** @todo Unused? */
-       private $matches;
-
        /**
         * @param array $names
         */
@@ -955,10 +950,12 @@ class MagicWordArray {
                        if ( $regex === '' ) {
                                continue;
                        }
-                       preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );
-                       foreach ( $matches as $m ) {
-                               list( $name, $param ) = $this->parseMatch( $m );
-                               $found[$name] = $param;
+                       $matches = array();
+                       if ( preg_match_all( $regex, $text, $matches, PREG_SET_ORDER ) ) {
+                               foreach ( $matches as $m ) {
+                                       list( $name, $param ) = $this->parseMatch( $m );
+                                       $found[$name] = $param;
+                               }
                        }
                        $text = preg_replace( $regex, '', $text );
                }