MediaWiki  1.30.0
ParserOptions Class Reference

Set options of the Parser. More...

Collaboration diagram for ParserOptions:

Public Member Functions

 __construct ( $user=null, $lang=null)
 
 addExtraKey ( $key)
 Extra key that should be present in the parser cache key. More...
 
 getEditSection ()
 Create "edit section" links? More...
 
 getRedirectTarget ()
 Get the previously-set redirect target. More...
 
 getTimestamp ()
 Timestamp used for {{CURRENTDAY}} etc. More...
 
 getUser ()
 Current user. More...
 
 isSafeToCache ()
 Test whether these options are safe to cache. More...
 
 matches (ParserOptions $other)
 Check if these options match that of another options set. More...
 
 optionsHash ( $forOptions, $title=null)
 Generate a hash string with the values set on these ParserOptions for the keys given in the array. More...
 
 optionUsed ( $optionName)
 Called when an option is accessed. More...
 
 registerWatcher ( $callback)
 Registers a callback for tracking which ParserOptions which are used. More...
 
 setEditSection ( $x)
 Create "edit section" links? More...
 
 setRedirectTarget ( $title)
 Set the redirect target. More...
 
 setTimestamp ( $x)
 Timestamp used for {{CURRENTDAY}} etc. More...
 
 setupFakeRevision ( $title, $content, $user)
 Sets a hook to force that a page exists, and sets a current revision callback to return a revision with custom content when the current revision of the page is requested. More...
 

Static Public Member Functions

static allCacheVaryingOptions ()
 Return all option keys that vary the options hash. More...
 
static legacyOptions ()
 Returns the full array of options that would have been used by in 1.16. More...
 
static newCanonical (User $user=null, $lang=null)
 Creates a "canonical" ParserOptions object. More...
 
static newFromAnon ()
 Get a ParserOptions object for an anonymous user. More...
 
static newFromContext (IContextSource $context)
 Get a ParserOptions object from a IContextSource object. More...
 
static newFromUser ( $user)
 Get a ParserOptions object from a given user. More...
 
static newFromUserAndLang (User $user, Language $lang)
 Get a ParserOptions object from a given user and language. More...
 

Private Member Functions

 initialiseFromUser ( $user, $lang)
 Get user options. More...
 
 optionToString ( $value)
 Convert an option to a string value. More...
 

Static Private Member Functions

static getCanonicalOverrides ()
 Get "canonical" non-default option values. More...
 
static getDefaults ()
 Get default option values. More...
 

Private Attributes

bool $mEditSection = true
 The edit section flag is in ParserOptions for historical reasons, but doesn't actually affect the parser output since Feb 2015. More...
 
 $mExtraKey = ''
 Appended to the options hash. More...
 
string null $mTimestamp
 Timestamp used for {{CURRENTDAY}} etc. More...
 
User $mUser
 Stored user object. More...
 
callable null $onAccessCallback = null
 Function to be called when an option is accessed. More...
 
array $options
 Current values for all options that are relevant for caching. More...
 
Title null $redirectTarget = null
 If the page being parsed is a redirect, this should hold the redirect target. More...
 

Static Private Attributes

static array null $defaults = null
 Default values for all options that are relevant for caching. More...
 
static array $inCacheKey
 Specify options that are included in the cache key. More...
 
static callback[] $lazyOptions
 Lazy-loaded options. More...
 

Option accessors

 getOption ( $name)
 Fetch an option, generically. More...
 
 setOption ( $name, $value)
 Set an option, generically. More...
 
 getInterwikiMagic ()
 Whether to extract interlanguage links. More...
 
 setInterwikiMagic ( $x)
 Specify whether to extract interlanguage links. More...
 
 getAllowExternalImages ()
 Allow all external images inline? More...
 
 setAllowExternalImages ( $x)
 Allow all external images inline? More...
 
 getAllowExternalImagesFrom ()
 External images to allow. More...
 
 setAllowExternalImagesFrom ( $x)
 External images to allow. More...
 
 getEnableImageWhitelist ()
 Use the on-wiki external image whitelist? More...
 
 setEnableImageWhitelist ( $x)
 Use the on-wiki external image whitelist? More...
 
 getNumberHeadings ()
 Automatically number headings? More...
 
 setNumberHeadings ( $x)
 Automatically number headings? More...
 
 getAllowSpecialInclusion ()
 Allow inclusion of special pages? More...
 
 setAllowSpecialInclusion ( $x)
 Allow inclusion of special pages? More...
 
 getTidy ()
 Use tidy to cleanup output HTML? More...
 
 setTidy ( $x)
 Use tidy to cleanup output HTML? More...
 
 getInterfaceMessage ()
 Parsing an interface message? More...
 
 setInterfaceMessage ( $x)
 Parsing an interface message? More...
 
 getTargetLanguage ()
 Target language for the parse. More...
 
 setTargetLanguage ( $x)
 Target language for the parse. More...
 
 getMaxIncludeSize ()
 Maximum size of template expansions, in bytes. More...
 
 setMaxIncludeSize ( $x)
 Maximum size of template expansions, in bytes. More...
 
 getMaxPPNodeCount ()
 Maximum number of nodes touched by PPFrame::expand() More...
 
 setMaxPPNodeCount ( $x)
 Maximum number of nodes touched by PPFrame::expand() More...
 
 getMaxGeneratedPPNodeCount ()
 Maximum number of nodes generated by Preprocessor::preprocessToObj() More...
 
 setMaxGeneratedPPNodeCount ( $x)
 Maximum number of nodes generated by Preprocessor::preprocessToObj() More...
 
 getMaxPPExpandDepth ()
 Maximum recursion depth in PPFrame::expand() More...
 
 getMaxTemplateDepth ()
 Maximum recursion depth for templates within templates. More...
 
 setMaxTemplateDepth ( $x)
 Maximum recursion depth for templates within templates. More...
 
 getExpensiveParserFunctionLimit ()
 Maximum number of calls per parse to expensive parser functions. More...
 
 setExpensiveParserFunctionLimit ( $x)
 Maximum number of calls per parse to expensive parser functions. More...
 
 getRemoveComments ()
 Remove HTML comments. More...
 
 setRemoveComments ( $x)
 Remove HTML comments. More...
 
 getEnableLimitReport ()
 Enable limit report in an HTML comment on output. More...
 
 enableLimitReport ( $x=true)
 Enable limit report in an HTML comment on output. More...
 
 getCleanSignatures ()
 Clean up signature texts? More...
 
 setCleanSignatures ( $x)
 Clean up signature texts? More...
 
 getExternalLinkTarget ()
 Target attribute for external links. More...
 
 setExternalLinkTarget ( $x)
 Target attribute for external links. More...
 
 getDisableContentConversion ()
 Whether content conversion should be disabled. More...
 
 disableContentConversion ( $x=true)
 Whether content conversion should be disabled. More...
 
 getDisableTitleConversion ()
 Whether title conversion should be disabled. More...
 
 disableTitleConversion ( $x=true)
 Whether title conversion should be disabled. More...
 
 getThumbSize ()
 Thumb size preferred by the user. More...
 
 setThumbSize ( $x)
 Thumb size preferred by the user. More...
 
 getStubThreshold ()
 Thumb size preferred by the user. More...
 
 setStubThreshold ( $x)
 Thumb size preferred by the user. More...
 
 getIsPreview ()
 Parsing the page for a "preview" operation? More...
 
 setIsPreview ( $x)
 Parsing the page for a "preview" operation? More...
 
 getIsSectionPreview ()
 Parsing the page for a "preview" operation on a single section? More...
 
 setIsSectionPreview ( $x)
 Parsing the page for a "preview" operation on a single section? More...
 
 getIsPrintable ()
 Parsing the printable version of the page? More...
 
 setIsPrintable ( $x)
 Parsing the printable version of the page? More...
 
 getPreSaveTransform ()
 Transform wiki markup when saving the page? More...
 
 setPreSaveTransform ( $x)
 Transform wiki markup when saving the page? More...
 
 getDateFormat ()
 Date format index. More...
 
 setDateFormat ( $x)
 Date format index. More...
 
 getUserLangObj ()
 Get the user language used by the parser for this page and split the parser cache. More...
 
 getUserLang ()
 Same as getUserLangObj() but returns a string instead. More...
 
 setUserLang ( $x)
 Set the user language used by the parser for this page and split the parser cache. More...
 
 getMagicISBNLinks ()
 Are magic ISBN links enabled? More...
 
 getMagicPMIDLinks ()
 Are magic PMID links enabled? More...
 
 getMagicRFCLinks ()
 Are magic RFC links enabled? More...
 
 getAllowUnsafeRawHtml ()
 If the wiki is configured to allow raw html ($wgRawHtml = true) is it allowed in the specific case of parsing this page. More...
 
 setAllowUnsafeRawHtml ( $x)
 If the wiki is configured to allow raw html ($wgRawHtml = true) is it allowed in the specific case of parsing this page. More...
 
 getWrapOutputClass ()
 Class to use to wrap output from Parser::parse() More...
 
 setWrapOutputClass ( $className)
 CSS class to use to wrap output from Parser::parse() More...
 
 getCurrentRevisionCallback ()
 Callback for current revision fetching; first argument to call_user_func(). More...
 
 setCurrentRevisionCallback ( $x)
 Callback for current revision fetching; first argument to call_user_func(). More...
 
 getTemplateCallback ()
 Callback for template fetching; first argument to call_user_func(). More...
 
 setTemplateCallback ( $x)
 Callback for template fetching; first argument to call_user_func(). More...
 
 getSpeculativeRevIdCallback ()
 Callback to generate a guess for {{REVISIONID}}. More...
 
 setSpeculativeRevIdCallback ( $x)
 Callback to generate a guess for {{REVISIONID}}. More...
 
 setOptionLegacy ( $name, $value)
 Legacy implementation. More...
 
static initDateFormat ( $popt)
 Lazy initializer for dateFormat. More...
 

Detailed Description

Set options of the Parser.

How to add an option in core:

  1. Add it to one of the arrays in ParserOptions::setDefaults()
  2. If necessary, add an entry to ParserOptions::$inCacheKey
  3. Add a getter and setter in the section for that.

How to add an option in an extension:

  1. Use the 'ParserOptionsRegister' hook to register it.
  2. Where necessary, use $popt->getOption() and $popt->setOption() to access it.

Definition at line 40 of file ParserOptions.php.

Constructor & Destructor Documentation

◆ __construct()

ParserOptions::__construct (   $user = null,
  $lang = null 
)
Warning
For interaction with the parser cache, use WikiPage::makeParserOptions(), ContentHandler::makeParserOptions(), or ParserOptions::newCanonical() instead.
Parameters
User$user
Language$lang

Definition at line 936 of file ParserOptions.php.

References $lang, $user, $wgLang, $wgUser, global, initialiseFromUser(), StubObject\isRealObject(), and User.

Member Function Documentation

◆ addExtraKey()

ParserOptions::addExtraKey (   $key)

Extra key that should be present in the parser cache key.

Warning
Consider registering your additional options with the ParserOptionsRegister hook instead of using this method.
Parameters
string$key

Definition at line 917 of file ParserOptions.php.

◆ allCacheVaryingOptions()

static ParserOptions::allCacheVaryingOptions ( )
static

Return all option keys that vary the options hash.

Since
1.30
Returns
string[]

Definition at line 1235 of file ParserOptions.php.

References getDefaults().

Referenced by ParserCache\getETag(), ParserCache\getKey(), and ParserOptionsTest\testAllCacheVaryingOptions().

◆ disableContentConversion()

ParserOptions::disableContentConversion (   $x = true)

Whether content conversion should be disabled.

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 518 of file ParserOptions.php.

References setOptionLegacy().

◆ disableTitleConversion()

ParserOptions::disableTitleConversion (   $x = true)

Whether title conversion should be disabled.

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 535 of file ParserOptions.php.

References setOptionLegacy().

◆ enableLimitReport()

ParserOptions::enableLimitReport (   $x = true)

Enable limit report in an HTML comment on output.

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 465 of file ParserOptions.php.

References setOptionLegacy().

◆ getAllowExternalImages()

ParserOptions::getAllowExternalImages ( )

Allow all external images inline?

Returns
bool

Definition at line 200 of file ParserOptions.php.

References getOption().

◆ getAllowExternalImagesFrom()

ParserOptions::getAllowExternalImagesFrom ( )

External images to allow.

When self::getAllowExternalImages() is false

Returns
string|string[] URLs to allow

Definition at line 220 of file ParserOptions.php.

References getOption().

◆ getAllowSpecialInclusion()

ParserOptions::getAllowSpecialInclusion ( )

Allow inclusion of special pages?

Returns
bool

Definition at line 274 of file ParserOptions.php.

References getOption().

◆ getAllowUnsafeRawHtml()

ParserOptions::getAllowUnsafeRawHtml ( )

If the wiki is configured to allow raw html ($wgRawHtml = true) is it allowed in the specific case of parsing this page.

This is meant to disable unsafe parser tags in cases where a malicious user may control the input to the parser.

Note
This is expected to be true for normal pages even if the wiki has $wgRawHtml disabled in general. The setting only signifies that raw html would be unsafe in the current context provided that raw html is allowed at all.
Since
1.29
Returns
bool

Definition at line 755 of file ParserOptions.php.

References getOption().

◆ getCanonicalOverrides()

static ParserOptions::getCanonicalOverrides ( )
staticprivate

Get "canonical" non-default option values.

See also
self::newCanonical
Warning
If you change the override for an existing option, all existing parser cache entries will be invalid. To avoid bugs, you'll need to handle that somehow (e.g. with the RejectParserCacheValue hook) because MediaWiki won't do it for you.
Returns
array

Definition at line 1112 of file ParserOptions.php.

References $wgEnableParserLimitReporting, and global.

Referenced by isSafeToCache(), and optionsHash().

◆ getCleanSignatures()

ParserOptions::getCleanSignatures ( )

Clean up signature texts?

See also
Parser::cleanSig
Returns
bool

Definition at line 474 of file ParserOptions.php.

References getOption().

◆ getCurrentRevisionCallback()

ParserOptions::getCurrentRevisionCallback ( )

Callback for current revision fetching; first argument to call_user_func().

Since
1.24
Returns
callable

Definition at line 798 of file ParserOptions.php.

References getOption().

◆ getDateFormat()

ParserOptions::getDateFormat ( )

Date format index.

Returns
string

Definition at line 645 of file ParserOptions.php.

References getOption().

◆ getDefaults()

static ParserOptions::getDefaults ( )
staticprivate

Get default option values.

Warning
If you change the default for an existing option (unless it's being overridden by self::getCanonicalOverrides()), all existing parser cache entries will be invalid. To avoid bugs, you'll need to handle that somehow (e.g. with the RejectParserCacheValue hook) because MediaWiki won't do it for you.
Returns
array

Definition at line 1037 of file ParserOptions.php.

References $wgAllowExternalImages, $wgAllowExternalImagesFrom, $wgAllowSpecialInclusion, $wgCleanSignatures, $wgContLang, $wgDisableLangConversion, $wgDisableTitleConversion, $wgEnableImageWhitelist, $wgEnableMagicLinks, $wgExpensiveParserFunctionLimit, $wgExternalLinkTarget, $wgInterwikiMagic, $wgMaxArticleSize, $wgMaxGeneratedPPNodeCount, $wgMaxPPExpandDepth, $wgMaxPPNodeCount, $wgMaxTemplateDepth, User\getDefaultOption(), global, and Hooks\run().

Referenced by allCacheVaryingOptions(), initialiseFromUser(), isSafeToCache(), and optionsHash().

◆ getDisableContentConversion()

ParserOptions::getDisableContentConversion ( )

Whether content conversion should be disabled.

Returns
bool

Definition at line 509 of file ParserOptions.php.

References getOption().

◆ getDisableTitleConversion()

ParserOptions::getDisableTitleConversion ( )

Whether title conversion should be disabled.

Returns
bool

Definition at line 526 of file ParserOptions.php.

References getOption().

◆ getEditSection()

ParserOptions::getEditSection ( )

Create "edit section" links?

Returns
bool

Definition at line 874 of file ParserOptions.php.

References $mEditSection.

◆ getEnableImageWhitelist()

ParserOptions::getEnableImageWhitelist ( )

Use the on-wiki external image whitelist?

Returns
bool

Definition at line 240 of file ParserOptions.php.

References getOption().

◆ getEnableLimitReport()

ParserOptions::getEnableLimitReport ( )

Enable limit report in an HTML comment on output.

Returns
bool

Definition at line 456 of file ParserOptions.php.

References getOption().

◆ getExpensiveParserFunctionLimit()

ParserOptions::getExpensiveParserFunctionLimit ( )

Maximum number of calls per parse to expensive parser functions.

Since
1.20
Returns
int

Definition at line 419 of file ParserOptions.php.

References getOption().

◆ getExternalLinkTarget()

ParserOptions::getExternalLinkTarget ( )

Target attribute for external links.

Returns
string

Definition at line 492 of file ParserOptions.php.

References getOption().

◆ getInterfaceMessage()

ParserOptions::getInterfaceMessage ( )

Parsing an interface message?

Returns
bool

Definition at line 308 of file ParserOptions.php.

References getOption().

◆ getInterwikiMagic()

ParserOptions::getInterwikiMagic ( )

Whether to extract interlanguage links.

When true, interlanguage links will be returned by ParserOutput::getLanguageLinks() instead of generating link HTML.

Returns
bool

Definition at line 183 of file ParserOptions.php.

References getOption().

◆ getIsPreview()

ParserOptions::getIsPreview ( )

Parsing the page for a "preview" operation?

Returns
bool

Definition at line 577 of file ParserOptions.php.

References getOption().

◆ getIsPrintable()

ParserOptions::getIsPrintable ( )

Parsing the printable version of the page?

Returns
bool

Definition at line 611 of file ParserOptions.php.

References getOption().

◆ getIsSectionPreview()

ParserOptions::getIsSectionPreview ( )

Parsing the page for a "preview" operation on a single section?

Returns
bool

Definition at line 594 of file ParserOptions.php.

References getOption().

◆ getMagicISBNLinks()

ParserOptions::getMagicISBNLinks ( )

Are magic ISBN links enabled?

Since
1.28
Returns
bool

Definition at line 720 of file ParserOptions.php.

References getOption().

◆ getMagicPMIDLinks()

ParserOptions::getMagicPMIDLinks ( )

Are magic PMID links enabled?

Since
1.28
Returns
bool

Definition at line 729 of file ParserOptions.php.

References getOption().

◆ getMagicRFCLinks()

ParserOptions::getMagicRFCLinks ( )

Are magic RFC links enabled?

Since
1.28
Returns
bool

Definition at line 737 of file ParserOptions.php.

References getOption().

◆ getMaxGeneratedPPNodeCount()

ParserOptions::getMaxGeneratedPPNodeCount ( )

Maximum number of nodes generated by Preprocessor::preprocessToObj()

Returns
int

Definition at line 376 of file ParserOptions.php.

References getOption().

◆ getMaxIncludeSize()

ParserOptions::getMaxIncludeSize ( )

Maximum size of template expansions, in bytes.

Returns
int

Definition at line 342 of file ParserOptions.php.

References getOption().

◆ getMaxPPExpandDepth()

ParserOptions::getMaxPPExpandDepth ( )

Maximum recursion depth in PPFrame::expand()

Returns
int

Definition at line 393 of file ParserOptions.php.

References getOption().

◆ getMaxPPNodeCount()

ParserOptions::getMaxPPNodeCount ( )

Maximum number of nodes touched by PPFrame::expand()

Returns
int

Definition at line 359 of file ParserOptions.php.

References getOption().

◆ getMaxTemplateDepth()

ParserOptions::getMaxTemplateDepth ( )

Maximum recursion depth for templates within templates.

Returns
int

Definition at line 401 of file ParserOptions.php.

References getOption().

◆ getNumberHeadings()

ParserOptions::getNumberHeadings ( )

Automatically number headings?

Returns
bool

Definition at line 257 of file ParserOptions.php.

References getOption().

◆ getOption()

◆ getPreSaveTransform()

ParserOptions::getPreSaveTransform ( )

Transform wiki markup when saving the page?

Returns
bool

Definition at line 628 of file ParserOptions.php.

References getOption().

◆ getRedirectTarget()

ParserOptions::getRedirectTarget ( )

Get the previously-set redirect target.

Since
1.24
Returns
Title|null

Definition at line 907 of file ParserOptions.php.

References $redirectTarget.

◆ getRemoveComments()

ParserOptions::getRemoveComments ( )

Remove HTML comments.

Warning
Only applies to preprocess operations
Returns
bool

Definition at line 438 of file ParserOptions.php.

References getOption().

◆ getSpeculativeRevIdCallback()

ParserOptions::getSpeculativeRevIdCallback ( )

Callback to generate a guess for {{REVISIONID}}.

Since
1.28
Returns
callable|null

Definition at line 834 of file ParserOptions.php.

References getOption().

◆ getStubThreshold()

ParserOptions::getStubThreshold ( )

Thumb size preferred by the user.

Returns
int

Definition at line 560 of file ParserOptions.php.

References getOption().

Referenced by WikiPage\getParserOutput(), and WikiPage\shouldCheckParserCache().

◆ getTargetLanguage()

ParserOptions::getTargetLanguage ( )

Target language for the parse.

Returns
Language|null

Definition at line 325 of file ParserOptions.php.

References getOption().

◆ getTemplateCallback()

ParserOptions::getTemplateCallback ( )

Callback for template fetching; first argument to call_user_func().

Returns
callable

Definition at line 816 of file ParserOptions.php.

References getOption().

◆ getThumbSize()

ParserOptions::getThumbSize ( )

Thumb size preferred by the user.

Returns
int

Definition at line 543 of file ParserOptions.php.

References getOption().

◆ getTidy()

ParserOptions::getTidy ( )

Use tidy to cleanup output HTML?

Returns
bool

Definition at line 291 of file ParserOptions.php.

References getOption().

◆ getTimestamp()

ParserOptions::getTimestamp ( )

Timestamp used for {{CURRENTDAY}} etc.

Returns
string

Definition at line 854 of file ParserOptions.php.

References $mTimestamp, and wfTimestampNow().

◆ getUser()

ParserOptions::getUser ( )

Current user.

Returns
User

Definition at line 925 of file ParserOptions.php.

References $mUser.

Referenced by optionsHash().

◆ getUserLang()

ParserOptions::getUserLang ( )

Same as getUserLangObj() but returns a string instead.

Warning
: Calling this causes the parser cache to be fragmented by user language! To avoid cache fragmentation, output should not depend on the user language. Use Parser::getFunctionLang() or Parser::getTargetLanguage() instead!
See also
getUserLangObj()
Returns
string Language code
Since
1.17

Definition at line 698 of file ParserOptions.php.

References getUserLangObj().

◆ getUserLangObj()

ParserOptions::getUserLangObj ( )

Get the user language used by the parser for this page and split the parser cache.

Warning
: Calling this causes the parser cache to be fragmented by user language! To avoid cache fragmentation, output should not depend on the user language. Use Parser::getFunctionLang() or Parser::getTargetLanguage() instead!
Note
This function will trigger a cache fragmentation by recording the 'userlang' option, see optionUsed(). This is done to avoid cache pollution when the page is rendered based on the language of the user.
When saving, this will return the default language instead of the user's. {{int: }} uses this which used to produce inconsistent link tables (T16404).
Returns
Language
Since
1.19

Definition at line 682 of file ParserOptions.php.

References getOption().

Referenced by getUserLang().

◆ getWrapOutputClass()

ParserOptions::getWrapOutputClass ( )

Class to use to wrap output from Parser::parse()

Since
1.30
Returns
string|bool

Definition at line 776 of file ParserOptions.php.

References getOption().

◆ initDateFormat()

static ParserOptions::initDateFormat (   $popt)
staticprivate

Lazy initializer for dateFormat.

Definition at line 652 of file ParserOptions.php.

◆ initialiseFromUser()

ParserOptions::initialiseFromUser (   $user,
  $lang 
)
private

Get user options.

Parameters
User$user
Language$lang

Definition at line 1127 of file ParserOptions.php.

References $lang, $user, getDefaults(), and options().

Referenced by __construct().

◆ isSafeToCache()

ParserOptions::isSafeToCache ( )

Test whether these options are safe to cache.

Since
1.30
Returns
bool

Definition at line 1344 of file ParserOptions.php.

References $defaults, $value, as, getCanonicalOverrides(), getDefaults(), options(), and optionToString().

Referenced by WikiPage\getParserOutput().

◆ legacyOptions()

static ParserOptions::legacyOptions ( )
static

Returns the full array of options that would have been used by in 1.16.

Used to get the old parser cache entries when available.

Deprecated:
since 1.30. You probably want self::allCacheVaryingOptions() instead.
Returns
array

Definition at line 1218 of file ParserOptions.php.

References wfDeprecated().

◆ matches()

ParserOptions::matches ( ParserOptions  $other)

Check if these options match that of another options set.

This ignores report limit settings that only affect HTML comments

Parameters
ParserOptions$other
Returns
bool
Since
1.25

Definition at line 1146 of file ParserOptions.php.

References $name, $options, as, options(), and optionToString().

◆ newCanonical()

static ParserOptions::newCanonical ( User  $user = null,
  $lang = null 
)
static

◆ newFromAnon()

static ParserOptions::newFromAnon ( )
static

Get a ParserOptions object for an anonymous user.

Warning
For interaction with the parser cache, use WikiPage::makeParserOptions(), ContentHandler::makeParserOptions(), or ParserOptions::newCanonical() instead.
Since
1.27
Returns
ParserOptions

Definition at line 963 of file ParserOptions.php.

References $wgContLang, and global.

Referenced by MessageCache\getParserOptions(), and OutputPage\parserOptions().

◆ newFromContext()

◆ newFromUser()

◆ newFromUserAndLang()

static ParserOptions::newFromUserAndLang ( User  $user,
Language  $lang 
)
static

◆ optionsHash()

ParserOptions::optionsHash (   $forOptions,
  $title = null 
)

Generate a hash string with the values set on these ParserOptions for the keys given in the array.

This will be used as part of the hash key for the parser cache, so users sharing the options with vary for the same page share the same cached data safely.

Since
1.17
Parameters
array$forOptions
Title$titleUsed to get the content language of the page (since r97636)
Returns
string Page rendering hash

Definition at line 1277 of file ParserOptions.php.

References $defaults, $inCacheKey, $mEditSection, $mExtraKey, $options, $title, $wgContLang, $wgRenderHashAppend, as, getCanonicalOverrides(), getDefaults(), getUser(), global, optionToString(), and Hooks\run().

◆ optionToString()

ParserOptions::optionToString (   $value)
private

Convert an option to a string value.

Parameters
mixed$value
Returns
string

Definition at line 1249 of file ParserOptions.php.

References $value.

Referenced by isSafeToCache(), matches(), and optionsHash().

◆ optionUsed()

ParserOptions::optionUsed (   $optionName)

Called when an option is accessed.

Calls the watcher that was set using registerWatcher(). Typically, the watcher callback is ParserOutput::registerOption(). The information registered that way will be used by ParserCache::save().

Parameters
string$optionNameName of the option

Definition at line 1205 of file ParserOptions.php.

Referenced by getOption().

◆ registerWatcher()

ParserOptions::registerWatcher (   $callback)

Registers a callback for tracking which ParserOptions which are used.

This is a private API with the parser.

Parameters
callable$callback

Definition at line 1193 of file ParserOptions.php.

◆ setAllowExternalImages()

ParserOptions::setAllowExternalImages (   $x)

Allow all external images inline?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 209 of file ParserOptions.php.

References setOptionLegacy().

◆ setAllowExternalImagesFrom()

ParserOptions::setAllowExternalImagesFrom (   $x)

External images to allow.

When self::getAllowExternalImages() is false

Parameters
string | string[] | null$xNew value (null is no change)
Returns
string|string[] Old value

Definition at line 232 of file ParserOptions.php.

References setOptionLegacy().

◆ setAllowSpecialInclusion()

ParserOptions::setAllowSpecialInclusion (   $x)

Allow inclusion of special pages?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 283 of file ParserOptions.php.

References setOptionLegacy().

◆ setAllowUnsafeRawHtml()

ParserOptions::setAllowUnsafeRawHtml (   $x)

If the wiki is configured to allow raw html ($wgRawHtml = true) is it allowed in the specific case of parsing this page.

See also
self::getAllowUnsafeRawHtml()
Since
1.29
Parameters
bool | null$xValue to set or null to get current value
Returns
bool Current value for allowUnsafeRawHtml

Definition at line 767 of file ParserOptions.php.

References setOptionLegacy().

◆ setCleanSignatures()

ParserOptions::setCleanSignatures (   $x)

Clean up signature texts?

See also
Parser::cleanSig
Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 484 of file ParserOptions.php.

References setOptionLegacy().

◆ setCurrentRevisionCallback()

ParserOptions::setCurrentRevisionCallback (   $x)

Callback for current revision fetching; first argument to call_user_func().

Since
1.24
Parameters
callable | null$xNew value (null is no change)
Returns
callable Old value

Definition at line 808 of file ParserOptions.php.

References setOptionLegacy().

Referenced by setupFakeRevision().

◆ setDateFormat()

ParserOptions::setDateFormat (   $x)

Date format index.

Parameters
string | null$xNew value (null is no change)
Returns
string Old value

Definition at line 661 of file ParserOptions.php.

References setOptionLegacy().

◆ setEditSection()

ParserOptions::setEditSection (   $x)

Create "edit section" links?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 883 of file ParserOptions.php.

References wfSetVar().

Referenced by MessageCache\getParserOptions().

◆ setEnableImageWhitelist()

ParserOptions::setEnableImageWhitelist (   $x)

Use the on-wiki external image whitelist?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 249 of file ParserOptions.php.

References setOptionLegacy().

◆ setExpensiveParserFunctionLimit()

ParserOptions::setExpensiveParserFunctionLimit (   $x)

Maximum number of calls per parse to expensive parser functions.

Since
1.20
Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 429 of file ParserOptions.php.

References setOptionLegacy().

◆ setExternalLinkTarget()

ParserOptions::setExternalLinkTarget (   $x)

Target attribute for external links.

Parameters
string | null$xNew value (null is no change)
Returns
string Old value

Definition at line 501 of file ParserOptions.php.

References setOptionLegacy().

◆ setInterfaceMessage()

ParserOptions::setInterfaceMessage (   $x)

Parsing an interface message?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 317 of file ParserOptions.php.

References setOptionLegacy().

◆ setInterwikiMagic()

ParserOptions::setInterwikiMagic (   $x)

Specify whether to extract interlanguage links.

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 192 of file ParserOptions.php.

References setOptionLegacy().

◆ setIsPreview()

ParserOptions::setIsPreview (   $x)

Parsing the page for a "preview" operation?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 586 of file ParserOptions.php.

References setOptionLegacy().

◆ setIsPrintable()

ParserOptions::setIsPrintable (   $x)

Parsing the printable version of the page?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 620 of file ParserOptions.php.

References setOptionLegacy().

◆ setIsSectionPreview()

ParserOptions::setIsSectionPreview (   $x)

Parsing the page for a "preview" operation on a single section?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 603 of file ParserOptions.php.

References setOptionLegacy().

◆ setMaxGeneratedPPNodeCount()

ParserOptions::setMaxGeneratedPPNodeCount (   $x)

Maximum number of nodes generated by Preprocessor::preprocessToObj()

Parameters
int | null$xNew value (null is no change)
Returns
int

Definition at line 385 of file ParserOptions.php.

References setOptionLegacy().

◆ setMaxIncludeSize()

ParserOptions::setMaxIncludeSize (   $x)

Maximum size of template expansions, in bytes.

Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 351 of file ParserOptions.php.

References setOptionLegacy().

◆ setMaxPPNodeCount()

ParserOptions::setMaxPPNodeCount (   $x)

Maximum number of nodes touched by PPFrame::expand()

Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 368 of file ParserOptions.php.

References setOptionLegacy().

◆ setMaxTemplateDepth()

ParserOptions::setMaxTemplateDepth (   $x)

Maximum recursion depth for templates within templates.

Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 410 of file ParserOptions.php.

References setOptionLegacy().

◆ setNumberHeadings()

ParserOptions::setNumberHeadings (   $x)

Automatically number headings?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 266 of file ParserOptions.php.

References setOptionLegacy().

◆ setOption()

ParserOptions::setOption (   $name,
  $value 
)

Set an option, generically.

Since
1.30
Parameters
string$nameOption name
mixed$valueNew value. Passing null will set null, unlike many of the existing accessors which ignore null for historical reasons.
Returns
mixed Old value

Definition at line 151 of file ParserOptions.php.

References $name, $value, and options().

Referenced by setTargetLanguage(), and setWrapOutputClass().

◆ setOptionLegacy()

◆ setPreSaveTransform()

ParserOptions::setPreSaveTransform (   $x)

Transform wiki markup when saving the page?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 637 of file ParserOptions.php.

References setOptionLegacy().

◆ setRedirectTarget()

ParserOptions::setRedirectTarget (   $title)

Set the redirect target.

Note that setting or changing this does not make the page a redirect or change its target, it merely records the information for reference during the parse.

Since
1.24
Parameters
Title | null$title

Definition at line 897 of file ParserOptions.php.

References $title.

◆ setRemoveComments()

ParserOptions::setRemoveComments (   $x)

Remove HTML comments.

Warning
Only applies to preprocess operations
Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 448 of file ParserOptions.php.

References setOptionLegacy().

◆ setSpeculativeRevIdCallback()

ParserOptions::setSpeculativeRevIdCallback (   $x)

Callback to generate a guess for {{REVISIONID}}.

Since
1.28
Parameters
callable | null$xNew value (null is no change)
Returns
callable|null Old value

Definition at line 844 of file ParserOptions.php.

References setOptionLegacy().

◆ setStubThreshold()

ParserOptions::setStubThreshold (   $x)

Thumb size preferred by the user.

Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 569 of file ParserOptions.php.

References setOptionLegacy().

◆ setTargetLanguage()

ParserOptions::setTargetLanguage (   $x)

Target language for the parse.

Parameters
Language | null$xNew value
Returns
Language|null Old value

Definition at line 334 of file ParserOptions.php.

References setOption().

◆ setTemplateCallback()

ParserOptions::setTemplateCallback (   $x)

Callback for template fetching; first argument to call_user_func().

Parameters
callable | null$xNew value (null is no change)
Returns
callable Old value

Definition at line 825 of file ParserOptions.php.

References setOptionLegacy().

◆ setThumbSize()

ParserOptions::setThumbSize (   $x)

Thumb size preferred by the user.

Parameters
int | null$xNew value (null is no change)
Returns
int Old value

Definition at line 552 of file ParserOptions.php.

References setOptionLegacy().

◆ setTidy()

ParserOptions::setTidy (   $x)

Use tidy to cleanup output HTML?

Parameters
bool | null$xNew value (null is no change)
Returns
bool Old value

Definition at line 300 of file ParserOptions.php.

References setOptionLegacy().

◆ setTimestamp()

ParserOptions::setTimestamp (   $x)

Timestamp used for {{CURRENTDAY}} etc.

Parameters
string | null$xNew value (null is no change)
Returns
string Old value

Definition at line 866 of file ParserOptions.php.

References wfSetVar().

◆ setupFakeRevision()

ParserOptions::setupFakeRevision (   $title,
  $content,
  $user 
)

Sets a hook to force that a page exists, and sets a current revision callback to return a revision with custom content when the current revision of the page is requested.

Since
1.25
Parameters
Title$title
Content$content
User$userThe user that the fake revision is attributed to
Returns
ScopedCallback to unset the hook

Definition at line 1368 of file ParserOptions.php.

References $parser, $title, $user, $wgHooks, global, key, setCurrentRevisionCallback(), LinkCache\singleton(), and use.

◆ setUserLang()

ParserOptions::setUserLang (   $x)

Set the user language used by the parser for this page and split the parser cache.

Parameters
string | Language$xNew value
Returns
Language Old value

Definition at line 707 of file ParserOptions.php.

References Language\factory(), and setOptionLegacy().

◆ setWrapOutputClass()

ParserOptions::setWrapOutputClass (   $className)

CSS class to use to wrap output from Parser::parse()

Since
1.30
Parameters
string | bool$classNameSet false to disable wrapping.
Returns
string|bool Current value

Definition at line 786 of file ParserOptions.php.

References setOption().

Referenced by ExtraParserTest\testLongNumericLinesDontKillTheParser().

Member Data Documentation

◆ $defaults

array null ParserOptions::$defaults = null
staticprivate

Default values for all options that are relevant for caching.

See also
self::getDefaults()

Definition at line 47 of file ParserOptions.php.

Referenced by isSafeToCache(), and optionsHash().

◆ $inCacheKey

array ParserOptions::$inCacheKey
staticprivate
Initial value:
= [
'dateformat' => true,
'numberheadings' => true,
'thumbsize' => true,
'stubthreshold' => true,
'printable' => true,
'userlang' => true,
'wrapclass' => true,
]

Specify options that are included in the cache key.

Definition at line 61 of file ParserOptions.php.

Referenced by optionsHash().

◆ $lazyOptions

callback [] ParserOptions::$lazyOptions
staticprivate
Initial value:
= [
'dateformat' => [ __CLASS__, 'initDateFormat' ],
]

Lazy-loaded options.

Definition at line 53 of file ParserOptions.php.

◆ $mEditSection

bool ParserOptions::$mEditSection = true
private

The edit section flag is in ParserOptions for historical reasons, but doesn't actually affect the parser output since Feb 2015.

Definition at line 89 of file ParserOptions.php.

Referenced by getEditSection(), and optionsHash().

◆ $mExtraKey

ParserOptions::$mExtraKey = ''
private

Appended to the options hash.

Definition at line 116 of file ParserOptions.php.

Referenced by optionsHash().

◆ $mTimestamp

string null ParserOptions::$mTimestamp
private

Timestamp used for {{CURRENTDAY}} etc.

Note
Caching based on parse time is handled externally

Definition at line 82 of file ParserOptions.php.

Referenced by getTimestamp().

◆ $mUser

User ParserOptions::$mUser
private

Stored user object.

Todo:
Track this for caching somehow without fragmenting the cache insanely

Definition at line 96 of file ParserOptions.php.

Referenced by getUser().

◆ $onAccessCallback

callable null ParserOptions::$onAccessCallback = null
private

Function to be called when an option is accessed.

Note
Used for collecting used options, does not affect caching

Definition at line 103 of file ParserOptions.php.

◆ $options

array ParserOptions::$options
private

Current values for all options that are relevant for caching.

Definition at line 75 of file ParserOptions.php.

Referenced by matches(), and optionsHash().

◆ $redirectTarget

Title null ParserOptions::$redirectTarget = null
private

If the page being parsed is a redirect, this should hold the redirect target.

Todo:
Track this for caching somehow

Definition at line 111 of file ParserOptions.php.

Referenced by getRedirectTarget().


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