$parser->setFunctionHook( 'talkpagenamee', array( __CLASS__, 'talkpagenamee' ), SFH_NO_HASH );
$parser->setFunctionHook( 'subjectpagename', array( __CLASS__, 'subjectpagename' ), SFH_NO_HASH );
$parser->setFunctionHook( 'subjectpagenamee', array( __CLASS__, 'subjectpagenamee' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionid', array( __CLASS__, 'revisionid' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisiontimestamp',array( __CLASS__, 'revisiontimestamp'), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionday', array( __CLASS__, 'revisionday' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionday2', array( __CLASS__, 'revisionday2' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionmonth', array( __CLASS__, 'revisionmonth' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionyear', array( __CLASS__, 'revisionyear' ), SFH_NO_HASH );
- $parser->setFunctionHook( 'revisionuser', array( __CLASS__, 'revisionuser' ), SFH_NO_HASH );
$parser->setFunctionHook( 'tag', array( __CLASS__, 'tagObj' ), SFH_OBJECT_ARGS );
$parser->setFunctionHook( 'formatdate', array( __CLASS__, 'formatDate' ) );
return '';
return $t->getSubjectPage()->getPrefixedUrl();
}
- /*
- * Functions to get revision informations, corresponding to the magic words
- * of the same names
- */
- static function revisionid( $parser, $title = null ) {
- static $cache = array ();
- $t = Title::newFromText( $title );
- if ( is_null( $t ) )
- return '';
- if ( $t->equals( $parser->getTitle() ) ) {
- // Let the edit saving system know we should parse the page
- // *after* a revision ID has been assigned.
- $parser->mOutput->setFlag( 'vary-revision' );
- wfDebug( __METHOD__ . ": {{REVISIONID}} used, setting vary-revision...\n" );
- return $parser->getRevisionId();
- }
- if ( isset( $cache[$t->getPrefixedText()] ) )
- return $cache[$t->getPrefixedText()];
- elseif ( $parser->incrementExpensiveFunctionCount() ) {
- $a = new Article( $t );
- return $cache[$t->getPrefixedText()] = $a->getRevIdFetched();
- }
- return '';
- }
- static function revisiontimestamp( $parser, $title = null ) {
- static $cache = array ();
- $t = Title::newFromText( $title );
- if ( is_null( $t ) )
- return '';
- if ( $t->equals( $parser->getTitle() ) ) {
- // Let the edit saving system know we should parse the page
- // *after* a revision ID has been assigned. This is for null edits.
- $parser->mOutput->setFlag( 'vary-revision' );
- wfDebug( __METHOD__ . ": {{REVISIONTIMESTAMP}} or related parser function used, setting vary-revision...\n" );
- return $parser->getRevisionTimestamp();
- }
- if ( isset( $cache[$t->getPrefixedText()] ) )
- return $cache[$t->getPrefixedText()];
- elseif ( $parser->incrementExpensiveFunctionCount() ) {
- $a = new Article( $t );
- return $cache[$t->getPrefixedText()] = $a->getTimestamp();
- }
- return '';
- }
- static function revisionday( $parser, $title = null ) {
- $timestamp = self::revisiontimestamp( $parser, $title );
- if ( $timestamp == '' ) return '';
- return intval( substr( $timestamp, 6, 2 ) );
- }
- static function revisionday2( $parser, $title = null ) {
- $timestamp = self::revisiontimestamp( $parser, $title );
- if ( $timestamp == '' ) return '';
- return substr( $timestamp, 6, 2 );
- }
- static function revisionmonth( $parser, $title = null ) {
- $timestamp = self::revisiontimestamp( $parser, $title );
- if ( $timestamp == '' ) return '';
- return intval( substr( $timestamp, 4, 2 ) );
- }
- static function revisionyear( $parser, $title = null ) {
- $timestamp = self::revisiontimestamp( $parser, $title );
- if ( $timestamp == '' ) return '';
- return substr( $timestamp, 0, 4 );
- }
- static function revisionuser( $parser, $title = null ) {
- static $cache = array();
- $t = Title::newFromText( $title );
- if ( is_null( $t ) )
- return '';
- if ( $t->equals( $parser->getTitle() ) ) {
- // Let the edit saving system know we should parse the page
- // *after* a revision ID has been assigned. This is for null edits.
- $parser->mOutput->setFlag( 'vary-revision' );
- wfDebug( __METHOD__ . ": {{REVISIONUSER}} used, setting vary-revision...\n" );
- return $parser->getRevisionUser();
- }
- if ( isset( $cache[$t->getPrefixedText()] ) )
- return $cache[$t->getPrefixedText()];
- elseif ( $parser->incrementExpensiveFunctionCount() ) {
- $a = new Article( $t );
- return $cache[$t->getPrefixedText()] = $a->getUserText();
- }
- return '';
- }
/**
* Return the number of pages in the given category, or 0 if it's nonexis-