static public $mVariableIDsInitialised = false;
static public $mVariableIDs = array(
'currentmonth',
+ 'currentmonth1',
'currentmonthname',
'currentmonthnamegen',
'currentmonthabbrev',
'currenttime',
'currenthour',
'localmonth',
+ 'localmonth1',
'localmonthname',
'localmonthnamegen',
'localmonthabbrev',
'server',
'servername',
'scriptpath',
+ 'stylepath',
'pagename',
'pagenamee',
'fullpagename',
'revisionmonth',
'revisionyear',
'revisiontimestamp',
+ 'revisionuser',
'subpagename',
'subpagenamee',
- 'displaytitle',
'talkspace',
'talkspacee',
'subjectspace',
'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,
'currenttime' => 3600,
'currenthour' => 3600,
'localmonth' => 86400,
+ 'localmonth1' => 86400,
'localmonthname' => 86400,
'localmonthnamegen' => 86400,
'localmonthabbrev' => 86400,
'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(
'toc',
'noeditsection',
'newsectionlink',
+ 'nonewsectionlink',
'hiddencat',
+ 'index',
+ 'noindex',
+ 'staticredirect',
+ 'notitleconvert',
+ 'nocontentconvert',
);
*/
static function &get( $id ) {
wfProfileIn( __METHOD__ );
- if (!array_key_exists( $id, self::$mObjects ) ) {
+ if ( !isset( self::$mObjects[$id] ) ) {
$mw = new MagicWord();
$mw->load( $id );
self::$mObjects[$id] = $mw;
return self::$mDoubleUnderscoreArray;
}
+ /**
+ * Clear the self::$mObjects variable
+ * For use in parser tests
+ */
+ public static function clearCache() {
+ self::$mObjects = array();
+ }
+
# Initialises this object with an ID
function load( $id ) {
global $wgContLang;
}
/**
- * Returns true if the text contains the word
- * @return bool
+ * Returns the number of times the text contains the word
+ * @return int
*/
function match( $text ) {
return preg_match( $this->getRegex(), $text );
}
/**
- * Returns true if the text starts with the word
- * @return bool
+ * Returns if the text starts with the word
+ * @return int
*/
function matchStart( $text ) {
return preg_match( $this->getRegexStart(), $text );
$matches = array();
$matchcount = preg_match( $this->getVariableStartToEndRegex(), $text, $matches );
if ( $matchcount == 0 ) {
- return NULL;
+ return null;
} else {
# multiple matched parts (variable match); some will be empty because of
# synonyms. The variable will be the second non-empty one so remove any