* (bug 5755) Introduce {{CURRENTMONTH1}} and {{LOCALMONTH1}} to display the month...
[lhc/web/wiklou.git] / includes / MagicWord.php
index 7c027d4..b69d57e 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 {
        /**#@+
@@ -34,6 +36,7 @@ class MagicWord {
        static public $mVariableIDsInitialised = false;
        static public $mVariableIDs = array(
                'currentmonth',
+               'currentmonth1',
                'currentmonthname',
                'currentmonthnamegen',
                'currentmonthabbrev',
@@ -44,6 +47,7 @@ class MagicWord {
                'currenttime',
                'currenthour',
                'localmonth',
+               'localmonth1',
                'localmonthname',
                'localmonthnamegen',
                'localmonthabbrev',
@@ -76,9 +80,9 @@ class MagicWord {
                'revisionmonth',
                'revisionyear',
                'revisiontimestamp',
+               'revisionuser',
                'subpagename',
                'subpagenamee',
-               'displaytitle',
                'talkspace',
                'talkspacee',
                'subjectspace',
@@ -88,26 +92,23 @@ class MagicWord {
                'subjectpagename',
                'subjectpagenamee',
                'numberofusers',
-               'newsectionlink',
+               'numberofactiveusers',
                'numberofpages',
                'currentversion',
                'basepagename',
                'basepagenamee',
-               'urlencode',
                'currenttimestamp',
                'localtimestamp',
                'directionmark',
-               'language',
                'contentlanguage',
-               'pagesinnamespace',
                'numberofadmins',
-               'defaultsort',
-               'pagesincategory',
+               'numberofviews',
        );
-       
+
        /* Array of caching hints for ParserCache */
        static public $mCacheTTLs = array (
                'currentmonth' => 86400,
+               'currentmonth1' => 86400,
                'currentmonthname' => 86400,
                'currentmonthnamegen' => 86400,
                'currentmonthabbrev' => 86400,
@@ -118,6 +119,7 @@ class MagicWord {
                'currenttime' => 3600,
                'currenthour' => 3600,
                'localmonth' => 86400,
+               'localmonth1' => 86400,
                'localmonthname' => 86400,
                'localmonthnamegen' => 86400,
                'localmonthabbrev' => 86400,
@@ -135,12 +137,15 @@ class MagicWord {
                'localweek' => 3600,
                'localdow' => 3600,
                'numberofusers' => 3600,
+               'numberofactiveusers' => 3600,
                'numberofpages' => 3600,
                'currentversion' => 86400,
                'currenttimestamp' => 3600,
                'localtimestamp' => 3600,
                'pagesinnamespace' => 3600,
                'numberofadmins' => 3600,
+               'numberofviews' => 3600,
+               'numberingroup' => 3600,
                );
 
        static public $mDoubleUnderscoreIDs = array(
@@ -150,7 +155,11 @@ class MagicWord {
                'toc',
                'noeditsection',
                'newsectionlink',
+               'nonewsectionlink',
                'hiddencat',
+               'index',
+               'noindex',
+               'staticredirect',
        );
 
 
@@ -203,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)) {
@@ -220,7 +229,7 @@ class MagicWord {
                }
                return self::$mDoubleUnderscoreArray;
        }
-       
+
        # Initialises this object with an ID
        function load( $id ) {
                global $wgContLang;
@@ -242,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}";
@@ -466,6 +475,7 @@ class MagicWord {
 
 /**
  * Class for handling an array of magic words
+ * @ingroup Parser
  */
 class MagicWordArray {
        var $names = array();
@@ -604,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.
         */