Replace arguments before replacing variables in {{int:...}} parser function, for...
[lhc/web/wiklou.git] / includes / MagicWord.php
index 817683a..594b2f4 100644 (file)
@@ -3,7 +3,8 @@
  * File for magic words
  * See docs/magicword.txt
  *
- * @addtogroup Parser
+ * @file
+ * @ingroup Parser
  */
 
 /**
  * Please avoid reading the data out of one of these objects and then writing
  * special case code. If possible, add another match()-like function here.
  *
- * To add magic words in an extension, use the LanguageGetMagic hook. For 
+ * To add magic words in an extension, use the LanguageGetMagic hook. For
  * magic words which are also Parser variables, add a MagicWordwgVariableIDs
  * hook. Use string keys.
  *
+ * @ingroup Parser
  */
 class MagicWord {
        /**#@+
@@ -102,8 +104,12 @@ class MagicWord {
                'pagesinnamespace',
                'numberofadmins',
                'defaultsort',
+               'pagesincategory',
+               'index',
+               'noindex',
+               'numberingroup',
        );
-       
+
        /* Array of caching hints for ParserCache */
        static public $mCacheTTLs = array (
                'currentmonth' => 86400,
@@ -140,6 +146,7 @@ class MagicWord {
                'localtimestamp' => 3600,
                'pagesinnamespace' => 3600,
                'numberofadmins' => 3600,
+               'numberingroup' => 3600,
                );
 
        static public $mDoubleUnderscoreIDs = array(
@@ -150,6 +157,9 @@ class MagicWord {
                'noeditsection',
                'newsectionlink',
                'hiddencat',
+               'index',
+               'noindex',
+               'staticredirect',
        );
 
 
@@ -202,7 +212,7 @@ class MagicWord {
                }
                return self::$mVariableIDs;
        }
-       
+
        /* Allow external reads of TTL array */
        static function getCacheTTL($id) {
                if (array_key_exists($id,self::$mCacheTTLs)) {
@@ -219,7 +229,7 @@ class MagicWord {
                }
                return self::$mDoubleUnderscoreArray;
        }
-       
+
        # Initialises this object with an ID
        function load( $id ) {
                global $wgContLang;
@@ -241,13 +251,13 @@ class MagicWord {
                # This was used for matching "$1" variables, but different uses of the feature will have
                # different restrictions, which should be checked *after* the MagicWord has been matched,
                # not here. - IMSoP
-               
+
                $escSyn = array();
                foreach ( $this->mSynonyms as $synonym )
                        // In case a magic word contains /, like that's going to happen;)
                        $escSyn[] = preg_quote( $synonym, '/' );
                $this->mBaseRegex = implode( '|', $escSyn );
-               
+
                $case = $this->mCaseSensitive ? '' : 'iu';
                $this->mRegex = "/{$this->mBaseRegex}/{$case}";
                $this->mRegexStart = "/^(?:{$this->mBaseRegex})/{$case}";
@@ -465,6 +475,7 @@ class MagicWord {
 
 /**
  * Class for handling an array of magic words
+ * @ingroup Parser
  */
 class MagicWordArray {
        var $names = array();
@@ -603,7 +614,7 @@ class MagicWordArray {
 
        /**
         * Match some text, with parameter capture
-        * Returns an array with the magic word name in the first element and the 
+        * Returns an array with the magic word name in the first element and the
         * parameter in the second element.
         * Both elements are false if there was no match.
         */