MediaWiki REL1_32
ExtParserFunctions Class Reference

Static Public Member Functions

static clearState ( $parser)
 
static expr ( $parser, $expr='')
 
static & getExprParser ()
 
static ifeqObj ( $parser, $frame, $args)
 
static iferror ( $parser, $test='', $then='', $else=false)
 
static iferrorObj ( $parser, $frame, $args)
 
static ifexistCommon ( $parser, $frame, $titletext='', $then='', $else='')
 
static ifexistObj ( $parser, $frame, $args)
 
static ifexpr ( $parser, $expr='', $then='', $else='')
 
static ifexprObj ( $parser, $frame, $args)
 
static ifObj ( $parser, $frame, $args)
 
static localTime ( $parser, $format='', $date='', $language='')
 
static localTimeObj ( $parser, $frame, $args)
 
static registerClearHook ()
 Register ParserClearState hook.
 
static rel2abs ( $parser, $to='', $from='')
 Returns the absolute path to a subpage, relative to the current article title.
 
static runCount ( $parser, $inStr='', $inSubStr='')
 {{#count: string | substr }}
 
static runExplode ( $parser, $inStr='', $inDiv='', $inPos=0, $inLim=null)
 {{#explode:string | delimiter | position | limit}}
 
static runLen ( $parser, $inStr='')
 {{#len:string}}
 
static runPos ( $parser, $inStr='', $inNeedle='', $inOffset=0)
 {{#pos: string | needle | offset}}
 
static runReplace ( $parser, $inStr='', $inReplaceFrom='', $inReplaceTo='', $inLimit=-1)
 {{replace:string | from | to | limit }}
 
static runRPos ( $parser, $inStr='', $inNeedle='')
 {{#rpos: string | needle}}
 
static runSub ( $parser, $inStr='', $inStart=0, $inLength=0)
 {{#sub: string | start | length }}
 
static runUrlDecode ( $parser, $inStr='')
 {{#urldecode:string}}
 
static switchObj ( $parser, $frame, $args)
 
static time ( $parser, $format='', $date='', $language='', $local=false)
 
static timeCommon ( $parser, $frame=null, $format='', $date='', $language='', $local=false)
 
static timeObj ( $parser, $frame, $args)
 
static titleparts ( $parser, $title='', $parts=0, $offset=0)
 Obtain a specified number of slash-separated parts of a title, e.g.
 

Static Public Attributes

static $mExprParser
 
static $mMaxTimeChars = 6000
 
static $mTimeCache = []
 
static $mTimeChars = 0
 

Static Private Member Functions

static checkLength ( $text)
 Verifies parameter is less than max string length.
 
static decodeTrimExpand ( $obj, $frame, &$trimExpanded=null)
 Take a PPNode (-ish thing), expand it, remove entities, and trim.
 
static tooLongError ()
 Generates error message.
 

Detailed Description

Definition at line 5 of file ExtParserFunctions.php.

Member Function Documentation

◆ checkLength()

static ExtParserFunctions::checkLength ( $text)
staticprivate

Verifies parameter is less than max string length.

Parameters
string$text
Returns
bool

Definition at line 598 of file ExtParserFunctions.php.

◆ clearState()

static ExtParserFunctions::clearState ( $parser)
static
Parameters
Parser$parser
Returns
bool

Definition at line 15 of file ExtParserFunctions.php.

◆ decodeTrimExpand()

static ExtParserFunctions::decodeTrimExpand ( $obj,
$frame,
& $trimExpanded = null )
staticprivate

Take a PPNode (-ish thing), expand it, remove entities, and trim.

For use when doing string comparisions, where user expects entities to be equal for what they stand for (e.g. comparisions with {{PAGENAME}})

Parameters
PPNode | string$objThing to expand
PPFrame$frame
string&$trimExpandedExpanded and trimmed version of PPNode, but with char refs intact
Returns
string The trimmed, expanded and entity reference decoded version of the PPNode

Definition at line 893 of file ExtParserFunctions.php.

Referenced by ifeqObj(), and switchObj().

◆ expr()

static ExtParserFunctions::expr ( $parser,
$expr = '' )
static
Parameters
Parser$parser
string$expr
Returns
string

Definition at line 49 of file ExtParserFunctions.php.

References $e, and getExprParser().

◆ getExprParser()

static & ExtParserFunctions::getExprParser ( )
static
Returns
ExprParser

Definition at line 37 of file ExtParserFunctions.php.

References $mExprParser.

Referenced by Scribunto_LuaParserFunctionsLibrary\expr(), expr(), and ifexpr().

◆ ifeqObj()

static ExtParserFunctions::ifeqObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 118 of file ExtParserFunctions.php.

References $args, and decodeTrimExpand().

◆ iferror()

static ExtParserFunctions::iferror ( $parser,
$test = '',
$then = '',
$else = false )
static
Parameters
Parser$parser
string$test
string$then
bool$else
Returns
bool|string

Definition at line 138 of file ExtParserFunctions.php.

Referenced by iferrorObj().

◆ iferrorObj()

static ExtParserFunctions::iferrorObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 157 of file ExtParserFunctions.php.

References $args, $parser, and iferror().

◆ ifexistCommon()

static ExtParserFunctions::ifexistCommon ( $parser,
$frame,
$titletext = '',
$then = '',
$else = '' )
static
Parameters
Parser$parser
PPFrame$frame
string$titletext
string$then
string$else
Returns
string

Definition at line 314 of file ExtParserFunctions.php.

References $parser, $wgContLang, NS_MEDIA, and wfFindFile().

Referenced by ifexistObj().

◆ ifexistObj()

static ExtParserFunctions::ifexistObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 380 of file ExtParserFunctions.php.

References $args, $parser, and ifexistCommon().

◆ ifexpr()

static ExtParserFunctions::ifexpr ( $parser,
$expr = '',
$then = '',
$else = '' )
static
Parameters
Parser$parser
string$expr
string$then
string$else
Returns
string

Definition at line 64 of file ExtParserFunctions.php.

References $e, $ret, and getExprParser().

Referenced by ifexprObj().

◆ ifexprObj()

static ExtParserFunctions::ifexprObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 86 of file ExtParserFunctions.php.

References $args, $parser, $result, and ifexpr().

◆ ifObj()

static ExtParserFunctions::ifObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 103 of file ExtParserFunctions.php.

References $args.

◆ localTime()

static ExtParserFunctions::localTime ( $parser,
$format = '',
$date = '',
$language = '' )
static
Parameters
Parser$parser
string$format
string$date
string$language
Returns
string

Definition at line 543 of file ExtParserFunctions.php.

References $parser, and timeCommon().

◆ localTimeObj()

static ExtParserFunctions::localTimeObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 553 of file ExtParserFunctions.php.

References $args, $parser, and timeCommon().

◆ registerClearHook()

static ExtParserFunctions::registerClearHook ( )
static

Register ParserClearState hook.

We defer this until needed to avoid the loading of the code of this file when no parser function is actually called.

Definition at line 25 of file ExtParserFunctions.php.

References $wgHooks.

Referenced by timeCommon().

◆ rel2abs()

static ExtParserFunctions::rel2abs ( $parser,
$to = '',
$from = '' )
static

Returns the absolute path to a subpage, relative to the current article title.

Treats titles as slash-separated paths.

Following subpage link syntax instead of standard path syntax, an initial slash is treated as a relative path, and vice versa.

Parameters
Parser$parser
string$to
string$from
Returns
string

Definition at line 250 of file ExtParserFunctions.php.

References $parser, and wfMessage().

◆ runCount()

static ExtParserFunctions::runCount ( $parser,
$inStr = '',
$inSubStr = '' )
static

{{#count: string | substr }}

Returns number of occurrences of "substr" in "string".

Note: If "substr" is empty, a single space is used.

Parameters
Parser$parser
string$inStr
string$inSubStr
Returns
int|string

Definition at line 738 of file ExtParserFunctions.php.

References $parser, $result, and tooLongError().

◆ runExplode()

static ExtParserFunctions::runExplode ( $parser,
$inStr = '',
$inDiv = '',
$inPos = 0,
$inLim = null )
static

{{#explode:string | delimiter | position | limit}}

Breaks "string" into chunks separated by "delimiter" and returns the chunk identified by "position".

Note: Negative position can be used to specify tokens from the end. Note: If the divider is an empty string, single space is used instead. Note: Empty string is returned if there are not enough exploded chunks.

Parameters
Parser$parser
string$inStr
string$inDiv
int$inPos
int | null$inLim
Returns
string

Definition at line 834 of file ExtParserFunctions.php.

References $matches, $parser, $result, and tooLongError().

◆ runLen()

static ExtParserFunctions::runLen ( $parser,
$inStr = '' )
static

{{#len:string}}

Reports number of characters in string.

Parameters
Parser$parser
string$inStr
Returns
int

Definition at line 621 of file ExtParserFunctions.php.

References $parser.

◆ runPos()

static ExtParserFunctions::runPos ( $parser,
$inStr = '',
$inNeedle = '',
$inOffset = 0 )
static

{{#pos: string | needle | offset}}

Finds first occurrence of "needle" in "string" starting at "offset".

Note: If the needle is an empty string, single space is used instead. Note: If the needle is not found, empty string is returned.

Parameters
Parser$parser
string$inStr
int | string$inNeedle
int$inOffset
Returns
int|string

Definition at line 639 of file ExtParserFunctions.php.

References $parser, and tooLongError().

◆ runReplace()

static ExtParserFunctions::runReplace ( $parser,
$inStr = '',
$inReplaceFrom = '',
$inReplaceTo = '',
$inLimit = -1 )
static

{{replace:string | from | to | limit }}

Replaces each occurrence of "from" in "string" with "to". At most "limit" replacements are performed.

Note: Armored against replacements that would generate huge strings. Note: If "from" is an empty string, single space is used instead.

Parameters
Parser$parser
string$inStr
string$inReplaceFrom
string$inReplaceTo
int$inLimit
Returns
mixed|string

Definition at line 771 of file ExtParserFunctions.php.

References $parser, $result, StringUtils\escapeRegexReplacement(), and tooLongError().

◆ runRPos()

static ExtParserFunctions::runRPos ( $parser,
$inStr = '',
$inNeedle = '' )
static

{{#rpos: string | needle}}

Finds last occurrence of "needle" in "string".

Note: If the needle is an empty string, single space is used instead. Note: If the needle is not found, -1 is returned.

Parameters
Parser$parser
string$inStr
int | string$inNeedle
Returns
int|string

Definition at line 672 of file ExtParserFunctions.php.

References $parser, and tooLongError().

◆ runSub()

static ExtParserFunctions::runSub ( $parser,
$inStr = '',
$inStart = 0,
$inLength = 0 )
static

{{#sub: string | start | length }}

Returns substring of "string" starting at "start" and having "length" characters.

Note: If length is zero, the rest of the input is returned. Note: A negative value for "start" operates from the end of the "string". Note: A negative value for "length" returns a string reduced in length by that amount.

Parameters
Parser$parser
string$inStr
int$inStart
int$inLength
Returns
string

Definition at line 711 of file ExtParserFunctions.php.

References $parser, $result, and tooLongError().

◆ runUrlDecode()

static ExtParserFunctions::runUrlDecode ( $parser,
$inStr = '' )
static

{{#urldecode:string}}

Decodes URL-encoded (like%20that) strings.

Parameters
Parser$parser
string$inStr
Returns
string

Definition at line 872 of file ExtParserFunctions.php.

References $parser, and tooLongError().

◆ switchObj()

static ExtParserFunctions::switchObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 175 of file ExtParserFunctions.php.

References $args, $parser, decodeTrimExpand(), and MagicWord\get().

◆ time()

static ExtParserFunctions::time ( $parser,
$format = '',
$date = '',
$language = '',
$local = false )
static
Parameters
Parser$parser
string$format
string$date
string$language
string | bool$local
Returns
string

Definition at line 516 of file ExtParserFunctions.php.

References $parser, and timeCommon().

◆ timeCommon()

static ExtParserFunctions::timeCommon ( $parser,
$frame = null,
$format = '',
$date = '',
$language = '',
$local = false )
static
Parameters
Parser$parser
PPFrame | null$frame
string$format
string$date
string$language
string | bool$local
Returns
string

Definition at line 402 of file ExtParserFunctions.php.

References $parser, $result, $wgLocaltimezone, registerClearHook(), StubObject\unstub(), and wfMessage().

Referenced by localTime(), localTimeObj(), time(), and timeObj().

◆ timeObj()

static ExtParserFunctions::timeObj ( $parser,
$frame,
$args )
static
Parameters
Parser$parser
PPFrame$frame
array$args
Returns
string

Definition at line 528 of file ExtParserFunctions.php.

References $args, $parser, and timeCommon().

◆ titleparts()

static ExtParserFunctions::titleparts ( $parser,
$title = '',
$parts = 0,
$offset = 0 )
static

Obtain a specified number of slash-separated parts of a title, e.g.

{{titleparts:Hello/World|1}} => "Hello"

Parameters
Parser$parserParent parser
string$titleTitle to split
int$partsNumber of parts to keep
int$offsetOffset starting at 1
Returns
string

Definition at line 570 of file ExtParserFunctions.php.

References $title.

◆ tooLongError()

static ExtParserFunctions::tooLongError ( )
staticprivate

Generates error message.

Called when string is too long.

Returns
string

Definition at line 607 of file ExtParserFunctions.php.

References wfMessage().

Referenced by runCount(), runExplode(), runPos(), runReplace(), runRPos(), runSub(), and runUrlDecode().

Member Data Documentation

◆ $mExprParser

ExtParserFunctions::$mExprParser
static

Definition at line 6 of file ExtParserFunctions.php.

Referenced by getExprParser().

◆ $mMaxTimeChars

ExtParserFunctions::$mMaxTimeChars = 6000
static

Definition at line 9 of file ExtParserFunctions.php.

◆ $mTimeCache

ExtParserFunctions::$mTimeCache = []
static

Definition at line 7 of file ExtParserFunctions.php.

◆ $mTimeChars

ExtParserFunctions::$mTimeChars = 0
static

Definition at line 8 of file ExtParserFunctions.php.


The documentation for this class was generated from the following file: