MediaWiki master
|
Rendered output of a wiki page, as parsed from wikitext. More...
Inherits CacheTime, and ContentMetadataCollector.
Public Member Functions | |
__construct ( $text=null, $languageLinks=[], $categoryLinks=[], $unused=false, $titletext='') | |
__get ( $name) | |
__set ( $name, $value) | |
__sleep () | |
__wakeup () | |
addCacheMessage (string $msg) | |
Adds a comment notice about cache state to the text of the page. | |
addCategory ( $c, $sort='') | |
Add a category. | |
addExternalLink ( $url) | |
addExtraCSPDefaultSrc ( $src) | |
Add an extra value to Content-Security-Policy default-src directive. | |
addExtraCSPScriptSrc ( $src) | |
Add an extra value to Content-Security-Policy script-src directive. | |
addExtraCSPStyleSrc ( $src) | |
Add an extra value to Content-Security-Policy style-src directive. | |
addHeadItem ( $section, $tag=false) | |
Add some text to the "<head>". | |
addImage ( $name, $timestamp=null, $sha1=null) | |
Register a file dependency for this output. | |
addInterwikiLink ( $link) | |
addJsConfigVars ( $keys, $value=null) | |
Add one or more variables to be set in mw.config in JavaScript. | |
addLanguageLink ( $t) | |
addLink (LinkTarget $link, $id=null) | |
Record a local or interwiki inline link for saving in future link tables. | |
addModules (array $modules) | |
addModuleStyles (array $modules) | |
addOutputPageMetadata (OutputPage $out) | |
Accommodate very basic transcluding of a temporary OutputPage object into parser output. | |
addTemplate ( $link, $page_id, $rev_id) | |
Register a template dependency for this output. | |
addWarningMsg (string $msg,... $args) | |
Add a warning to the output for this page. | |
addWrapperDivClass ( $class) | |
Add a CSS class to use for the wrapping div. | |
appendExtensionData (string $key, $value, string $strategy=self::MW_MERGE_STRATEGY_UNION) | |
Appends arbitrary data to this ParserObject. | |
appendJsConfigVar (string $key, string $value, string $strategy=self::MW_MERGE_STRATEGY_UNION) | |
Append a value to a variable to be set in mw.config in JavaScript. | |
appendOutputStrings (string $name, array $value) | |
Provides a uniform interface to various string sets stored in the ParserOutput. | |
clearWrapperDivClass () | |
Clears the CSS class to use for the wrapping div, effectively disabling the wrapper div until addWrapperDivClass() is called. | |
collectMetadata (ContentMetadataCollector $metadata) | |
Adds the metadata collected in this ParserOutput to the supplied ContentMetadataCollector. | |
finalizeAdaptiveCacheExpiry () | |
Call this when parsing is done to lower the TTL based on low parse times. | |
getAllFlags () | |
getCacheMessage () | |
& | getCategories () |
getCategoryMap () | |
Return category names and sort keys as a map. | |
getCategoryNames () | |
Return the names of the categories on this page. | |
getCategorySortKey (string $name) | |
Return the sort key for a given category name, or null if the category is not present in this ParserOutput. | |
getDisplayTitle () | |
Get the title to be used for display. | |
getEnableOOUI () | |
getExtensionData ( $key) | |
Gets extensions data previously attached to this ParserOutput using setExtensionData(). | |
& | getExternalLinks () |
getExtraCSPDefaultSrcs () | |
Get extra Content-Security-Policy 'default-src' directives. | |
getExtraCSPScriptSrcs () | |
Get extra Content-Security-Policy 'script-src' directives. | |
getExtraCSPStyleSrcs () | |
Get extra Content-Security-Policy 'style-src' directives. | |
& | getFileSearchOptions () |
getFlag ( $flag) | |
getHeadItems () | |
getHideNewSection () | |
& | getImages () |
getIndexPolicy () | |
getIndicators () | |
getInterwikiLinks () | |
getJsConfigVars (bool $showStrategyKeys=false) | |
getLanguage () | |
Get the primary language code of the output. | |
& | getLanguageLinks () |
getLimitReportData () | |
getLimitReportJSData () | |
& | getLinks () |
& | getLinksSpecial () |
getModules () | |
getModuleStyles () | |
getNewSection () | |
getNoGallery () | |
getOutputFlag (string $name) | |
Provides a uniform interface to various boolean flags stored in the ParserOutput. | |
getOutputStrings (string $name) | |
Provides a uniform interface to various boolean string sets stored in the ParserOutput. | |
getPageProperties () | |
Return all the page properties set on this ParserOutput. | |
getPageProperty (string $name) | |
Look up a page property. | |
getParsoidRenderId () | |
getPreventClickjacking () | |
Get the prevent-clickjacking flag. | |
getRawText () | |
Get the cacheable text with <mw:editsection> markers still in it. | |
getRedirectHeader () | |
Return an HTML prefix to be applied on redirect pages, or null if this is not a redirect. | |
getRevisionTimestampUsed () | |
getRevisionUsedSha1Base36 () | |
getSections () | |
getSpeculativePageIdUsed () | |
getSpeculativeRevIdUsed () | |
& | getTemplateIds () |
& | getTemplates () |
getText ( $options=[]) | |
Get the output HTML. | |
getTimeSinceStart ( $clock) | |
Returns the time since resetParseStartTime() was last called. | |
getTimestamp () | |
getTitleText () | |
getTOCData () | |
getTOCHTML () | |
getTransformedText () | |
Gets the text set temporarily by output transformations and stored in $mTransformedText. | |
getWarnings () | |
getWrapperDivClass () | |
Returns the class (or classes) to be used with the wrapper div for this output. | |
hasReducedExpiry () | |
Check whether the cache TTL was lowered from the site default. | |
hasText () | |
Returns true if text was passed to the constructor, or set using setText(). | |
mergeHtmlMetaDataFrom (ParserOutput $source) | |
Merges HTML metadata such as head items, JS config vars, and HTTP cache control info from $source into this ParserOutput. | |
mergeInternalMetaDataFrom (ParserOutput $source) | |
Merges internal metadata such as flags, accessed options, and profiling info from $source into this ParserOutput. | |
mergeTrackingMetaDataFrom (ParserOutput $source) | |
Merges dependency tracking metadata such as backlinks, images used, and extension data from $source into this ParserOutput. | |
resetParseStartTime () | |
Resets the parse start timestamps for future calls to getTimeSinceStart() | |
setCategories (array $c) | |
Overwrite the category map. | |
setDisplayTitle ( $text) | |
Override the title to be used for display. | |
setEnableOOUI (bool $enable=false) | |
Enables OOUI, if true, in any OutputPage instance this ParserOutput object is added to. | |
setExtensionData ( $key, $value) | |
Attaches arbitrary data to this ParserObject. | |
setFlag ( $flag) | |
Attach a flag to the output so that it can be checked later to handle special cases. | |
setHideNewSection (bool $value) | |
setIndexPolicy ( $policy) | |
setIndicator ( $id, $content) | |
setJsConfigVar (string $key, $value) | |
Add a variable to be set in mw.config in JavaScript. | |
setLanguage (Bcp47Code $lang) | |
Set the primary language of the output. | |
setLanguageLinks ( $ll) | |
setLimitReportData ( $key, $value) | |
Sets parser limit report data for a key. | |
setNewSection ( $value) | |
setNoGallery ( $value) | |
setOutputFlag (string $name, bool $val=true) | |
Provides a uniform interface to various boolean flags stored in the ParserOutput. | |
setPageProperty (string $name, $value) | |
Set a page property to be stored in the page_props database table. | |
setParsoidRenderId (ParsoidRenderID $parsoidRenderId) | |
setPreventClickjacking (bool $flag) | |
Set the prevent-clickjacking flag. | |
setRedirectHeader (string $html) | |
Set an HTML prefix to be applied on redirect pages. | |
setRevisionTimestampUsed ( $timestamp) | |
setRevisionUsedSha1Base36 ( $hash) | |
setSections (array $sectionArray) | |
setSpeculativePageIdUsed ( $id) | |
setSpeculativeRevIdUsed ( $id) | |
setText ( $text) | |
Set the text of the ParserOutput. | |
setTimestamp ( $timestamp) | |
setTitleText ( $t) | |
setTOCData (TOCData $tocData) | |
setTOCHTML ( $tochtml) | |
setTransformedText (string $text) | |
Get the text transformed by an output transform. | |
unsetPageProperty (string $name) | |
Remove a page property. | |
updateRuntimeAdaptiveExpiry ( $ttl) | |
Lower the runtime adaptive TTL to at most this value. | |
![]() | |
expired ( $touched) | |
Return true if this cached output object predates the global or per-article cache invalidation timestamps, or if it comes from an incompatible older version. | |
getCacheExpiry () | |
Returns the number of seconds after which this object should expire. | |
getCacheRevisionId () | |
getCacheTime () | |
getUsedOptions () | |
Returns the options from its ParserOptions which have been taken into account to produce the output. | |
isCacheable () | |
isDifferentRevision ( $id) | |
Return true if this cached output object is for a different revision of the page. | |
recordOption (string $option) | |
Tags a parser option for use in the cache key for this parser output. | |
recordOptions (array $options) | |
Tags a list of parser option names for use in the cache key for this parser output. | |
setCacheRevisionId ( $id) | |
setCacheTime ( $t) | |
setCacheTime() sets the timestamp expressing when the page has been rendered. | |
updateCacheExpiry ( $seconds) | |
Sets the number of seconds after which this object should expire. | |
Static Public Member Functions | |
static | isLinkInternal ( $internal, $url) |
Checks, if a url is pointing to the own server. | |
static | newFromJsonArray (JsonUnserializer $unserializer, array $json) |
Creates a new instance of the class and initialized it from the $json array. | |
Public Attributes | |
const | MW_MERGE_STRATEGY_KEY = '_mw-strategy' |
const | MW_MERGE_STRATEGY_UNION = 'union' |
Merge strategy to use for ParserOutput accumulators: "union" means that values are strings, stored as a set, and exposed as a PHP associative array mapping from values to true . | |
const | PARSOID_RENDER_ID_KEY = 'parsoid-render-id' |
const | SUPPORTS_STATELESS_TRANSFORMS = 1 |
Feature flags to indicate to extensions that MediaWiki core supports and uses getText() stateless transforms. | |
const | SUPPORTS_UNWRAP_TRANSFORM = 1 |
Protected Member Functions | |
initFromJson (JsonUnserializer $unserializer, array $jsonData) | |
Initialize member fields from an array returned by jsonSerialize(). | |
toJsonArray () | |
Returns a JSON serializable structure representing this ParserOutput instance. | |
Additional Inherited Members | |
![]() | |
int null | $mCacheExpiry = null |
Seconds after which the object should expire, use 0 for not cacheable. | |
int null | $mCacheRevisionId = null |
Revision ID that was parsed. | |
string int | $mCacheTime = '' |
TS_MW timestamp when this object was generated, or -1 for not cacheable. | |
true[] | $mParseUsedOptions = [] |
ParserOptions which have been taken into account to produce output, option names stored in array keys. | |
Rendered output of a wiki page, as parsed from wikitext.
ParserOutput objects are created by the ParserOutputAccess service, which automatically caches them via ParserCache when possible, and produces new output from the Parser (or Parsoid) as-needed.
Higher-level access is also available via the ContentHandler class, with as its main consumers our APIs and OutputPage/Skin frontend.
Definition at line 50 of file ParserOutput.php.
ParserOutput::__construct | ( | $text = null , |
|
$languageLinks = [] , |
|||
$categoryLinks = [] , |
|||
$unused = false , |
|||
$titletext = '' |
|||
) |
string | null | $text | HTML. Use null to indicate that this ParserOutput contains only meta-data, and the HTML output is undetermined, as opposed to empty. Passing null here causes hasText() to return false. In 1.39 the default value changed from '' to null. |
array | $languageLinks | |
array | $categoryLinks | |
bool | $unused | |
string | $titletext |
Definition at line 345 of file ParserOutput.php.
ParserOutput::__get | ( | $name | ) |
Reimplemented from CacheTime.
Definition at line 2612 of file ParserOutput.php.
References wfDeprecatedMsg().
ParserOutput::__set | ( | $name, | |
$value | |||
) |
Reimplemented from CacheTime.
Definition at line 2627 of file ParserOutput.php.
References wfDeprecatedMsg().
ParserOutput::__sleep | ( | ) |
Definition at line 1992 of file ParserOutput.php.
ParserOutput::__wakeup | ( | ) |
Reimplemented from CacheTime.
Definition at line 2594 of file ParserOutput.php.
ParserOutput::addCacheMessage | ( | string | $msg | ) |
Adds a comment notice about cache state to the text of the page.
string | $msg |
Definition at line 455 of file ParserOutput.php.
Referenced by MediaWiki\Parser\RevisionOutputCache\save(), and ParserCache\save().
ParserOutput::addCategory | ( | $c, | |
$sort = '' |
|||
) |
Add a category.
string | $c | The category name |
string | $sort | The sort key |
Definition at line 875 of file ParserOutput.php.
ParserOutput::addExternalLink | ( | $url | ) |
Definition at line 979 of file ParserOutput.php.
ParserOutput::addExtraCSPDefaultSrc | ( | $src | ) |
Add an extra value to Content-Security-Policy default-src directive.
Call this if you are including a resource (e.g. image) from a third party domain. This is used for all source types except style and script.
string | $src | CSP source e.g. example.com |
Definition at line 1941 of file ParserOutput.php.
ParserOutput::addExtraCSPScriptSrc | ( | $src | ) |
Add an extra value to Content-Security-Policy script-src directive.
Call this if you are loading third-party Javascript
string | $src | CSP source e.g. example.com |
Definition at line 1963 of file ParserOutput.php.
ParserOutput::addExtraCSPStyleSrc | ( | $src | ) |
Add an extra value to Content-Security-Policy style-src directive.
string | $src | CSP source e.g. example.com |
Definition at line 1951 of file ParserOutput.php.
ParserOutput::addHeadItem | ( | $section, | |
$tag = false |
|||
) |
Add some text to the "<head>".
If $tag is set, the section with that tag will only be included once in a given page.
string | $section | |
string | false | $tag |
Definition at line 1078 of file ParserOutput.php.
ParserOutput::addImage | ( | $name, | |
$timestamp = null , |
|||
$sha1 = null |
|||
) |
Register a file dependency for this output.
string | $name | Title dbKey |
string | false | null | $timestamp | MW timestamp of file creation (or false if non-existing) |
string | false | null | $sha1 | Base 36 SHA-1 of file (or false if non-existing) |
Definition at line 1036 of file ParserOutput.php.
ParserOutput::addInterwikiLink | ( | $link | ) |
LinkTarget | $link | LinkTarget object, must be an interwiki link (used to require Title until 1.38). |
MWException | If given invalid input |
Definition at line 1063 of file ParserOutput.php.
ParserOutput::addJsConfigVars | ( | $keys, | |
$value = null |
|||
) |
Add one or more variables to be set in mw.config in JavaScript.
string | array | $keys | Key or array of key/value pairs. |
mixed | null | $value | [optional] Value of the configuration variable. |
Definition at line 1111 of file ParserOutput.php.
ParserOutput::addLanguageLink | ( | $t | ) |
Definition at line 908 of file ParserOutput.php.
ParserOutput::addLink | ( | LinkTarget | $link, |
$id = null |
|||
) |
Record a local or interwiki inline link for saving in future link tables.
LinkTarget | $link | (used to require Title until 1.38) |
int | null | $id | Optional known page_id so we can skip the lookup |
Definition at line 1003 of file ParserOutput.php.
Referenced by WikitextContentHandler\fillParserOutput().
ParserOutput::addModules | ( | array | $modules | ) |
string[] | $modules |
Definition at line 1090 of file ParserOutput.php.
ParserOutput::addModuleStyles | ( | array | $modules | ) |
string[] | $modules |
Definition at line 1098 of file ParserOutput.php.
Referenced by JsonContentHandler\fillParserOutput(), and WikitextContentHandler\fillParserOutput().
ParserOutput::addOutputPageMetadata | ( | OutputPage | $out | ) |
Accommodate very basic transcluding of a temporary OutputPage object into parser output.
This is a fragile method that cannot be relied upon in any meaningful way. It exists solely to support the wikitext feature of transcluding a SpecialPage, and only has to work for that use case to ensure relevant styles are loaded, and that essential config vars needed between SpecialPage and a JS feature are added.
This relies on there being no overlap between modules or config vars added by the SpecialPage and those added by parser extensions. If there is overlap, then arise and break one or both sides. This is expected and unsupported.
OutputPage | $out |
Definition at line 1201 of file ParserOutput.php.
ParserOutput::addTemplate | ( | $link, | |
$page_id, | |||
$rev_id | |||
) |
Register a template dependency for this output.
LinkTarget | $link | (used to require Title until 1.38) |
int | $page_id | |
int | $rev_id |
Definition at line 1050 of file ParserOutput.php.
ParserOutput::addWarningMsg | ( | string | $msg, |
$args | |||
) |
Add a warning to the output for this page.
string | $msg | The localization message key for the warning |
mixed|JsonUnserializable | ...$args Optional arguments for the message. These arguments must be serializable/unserializable with JsonCodec; see the |
Definition at line 920 of file ParserOutput.php.
References wfDeprecatedMsg().
ParserOutput::addWrapperDivClass | ( | $class | ) |
Add a CSS class to use for the wrapping div.
If no class is given, no wrapper is added.
string | $class |
Definition at line 464 of file ParserOutput.php.
ParserOutput::appendExtensionData | ( | string | $key, |
$value, | |||
string | $strategy = self::MW_MERGE_STRATEGY_UNION |
||
) |
Appends arbitrary data to this ParserObject.
This can be used to store some information in the ParserOutput object for later use during page output. The data will be cached along with the ParserOutput object, but unlike data set using setPageProperty(), it is not recorded in the database.
See setExtensionData() for more details on rationale and use.
In order to provide for out-of-order/asynchronous/incremental parsing, this method appends values to a set. See setExtensionData() for the flag-like version of this method.
string | $key | The key for accessing the data. Extensions should take care to avoid conflicts in naming keys. It is suggested to use the extension's name as a prefix. |
int | string | $value | The value to append to the list. |
string | $strategy | Merge strategy: only MW_MERGE_STRATEGY_UNION is currently supported and external callers should treat this parameter as |
Definition at line 1746 of file ParserOutput.php.
ParserOutput::appendJsConfigVar | ( | string | $key, |
string | $value, | ||
string | $strategy = self::MW_MERGE_STRATEGY_UNION |
||
) |
Append a value to a variable to be set in mw.config in JavaScript.
In order to ensure the result is independent of the parse order, the value of this key will be an associative array, mapping all of the values set under that key to true. (The array is implicitly ordered in PHP, but you should treat it as unordered.) If you want a non-array type for the key, and can ensure that only a single value will be set, you should use ::setJsConfigVar() instead.
string | $key | Key to use under mw.config |
string | $value | Value to append to the configuration variable. |
string | $strategy | Merge strategy: only MW_MERGE_STRATEGY_UNION is currently supported and external callers should treat this parameter as |
Definition at line 1165 of file ParserOutput.php.
ParserOutput::appendOutputStrings | ( | string | $name, |
array | $value | ||
) |
Provides a uniform interface to various string sets stored in the ParserOutput.
String sets internal to MediaWiki core should have names which are constants in ParserOutputStringSets. Extensions should use ::appendExtensionData() rather than creating new string sets with ::appendOutputStrings() in order to prevent namespace conflicts.
string | $name | A string set name |
string[] | $value |
Definition at line 1600 of file ParserOutput.php.
ParserOutput::clearWrapperDivClass | ( | ) |
Clears the CSS class to use for the wrapping div, effectively disabling the wrapper div until addWrapperDivClass() is called.
Definition at line 472 of file ParserOutput.php.
Referenced by CssContentHandler\fillParserOutput(), JavaScriptContentHandler\fillParserOutput(), and TextContentHandler\fillParserOutput().
ParserOutput::collectMetadata | ( | ContentMetadataCollector | $metadata | ) |
Adds the metadata collected in this ParserOutput to the supplied ContentMetadataCollector.
This is similar to ::mergeHtmlMetaDataFrom() but in the opposite direction, since ParserOutput is read/write while ContentMetadataCollector is write-only.
ContentMetadataCollector | $metadata |
Definition at line 2163 of file ParserOutput.php.
ParserOutput::finalizeAdaptiveCacheExpiry | ( | ) |
Call this when parsing is done to lower the TTL based on low parse times.
Definition at line 1972 of file ParserOutput.php.
ParserOutput::getAllFlags | ( | ) |
Definition at line 1382 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getCacheMessage | ( | ) |
& ParserOutput::getCategories | ( | ) |
Definition at line 589 of file ParserOutput.php.
References wfDeprecated().
ParserOutput::getCategoryMap | ( | ) |
Return category names and sort keys as a map.
BEWARE that numeric category names get converted to 'int' when stored as array keys. Because of this, use of this method is not recommended in new code; using ::getCategoryNames() and ::getCategorySortKey() will be less error-prone.
Definition at line 605 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getCategoryNames | ( | ) |
Return the names of the categories on this page.
Unlike ::getCategories(), sort keys are not included in the return value.
Definition at line 577 of file ParserOutput.php.
Referenced by MediaWiki\Search\ParserOutputSearchDataExtractor\getCategories(), and MediaWiki\Deferred\LinksUpdate\CategoryLinksTable\setParserOutput().
ParserOutput::getCategorySortKey | ( | string | $name | ) |
Return the sort key for a given category name, or null
if the category is not present in this ParserOutput.
string | $name | The category name |
null
if the category is not present in this ParserOutput Definition at line 617 of file ParserOutput.php.
Referenced by MediaWiki\Deferred\LinksUpdate\CategoryLinksTable\setParserOutput().
ParserOutput::getDisplayTitle | ( | ) |
Get the title to be used for display.
As per the contract of setDisplayTitle(), this is safe HTML, ready to be served to the client.
Definition at line 1248 of file ParserOutput.php.
ParserOutput::getEnableOOUI | ( | ) |
Definition at line 771 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getExtensionData | ( | $key | ) |
Gets extensions data previously attached to this ParserOutput using setExtensionData().
Typically, such data would be set while parsing the page, e.g. by a parser function.
string | $key | The key to look up. |
Definition at line 1778 of file ParserOutput.php.
Referenced by MediaWiki\Parser\Parsoid\PageBundleParserOutputConverter\hasPageBundle().
& ParserOutput::getExternalLinks | ( | ) |
Definition at line 692 of file ParserOutput.php.
Referenced by MediaWiki\Search\ParserOutputSearchDataExtractor\getExternalLinks(), and MediaWiki\Deferred\LinksUpdate\ExternalLinksTable\setParserOutput().
ParserOutput::getExtraCSPDefaultSrcs | ( | ) |
Get extra Content-Security-Policy 'default-src' directives.
Definition at line 780 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getExtraCSPScriptSrcs | ( | ) |
Get extra Content-Security-Policy 'script-src' directives.
Definition at line 789 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getExtraCSPStyleSrcs | ( | ) |
Get extra Content-Security-Policy 'style-src' directives.
Definition at line 798 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
& ParserOutput::getFileSearchOptions | ( | ) |
Definition at line 688 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getFlag | ( | $flag | ) |
string | $flag |
Definition at line 1373 of file ParserOutput.php.
ParserOutput::getHeadItems | ( | ) |
Definition at line 704 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getHideNewSection | ( | ) |
Definition at line 952 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
& ParserOutput::getImages | ( | ) |
Definition at line 684 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata(), and MediaWiki\Deferred\LinksUpdate\ImageLinksTable\setParserOutput().
ParserOutput::getIndexPolicy | ( | ) |
Definition at line 738 of file ParserOutput.php.
Referenced by Article\getRobotPolicy().
ParserOutput::getIndicators | ( | ) |
Definition at line 628 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getInterwikiLinks | ( | ) |
Definition at line 566 of file ParserOutput.php.
Referenced by MediaWiki\Deferred\LinksUpdate\InterwikiLinksTable\setParserOutput().
ParserOutput::getJsConfigVars | ( | bool | $showStrategyKeys = false | ) |
bool | $showStrategyKeys | Defaults to false; if set to true will expose the internal MW_MERGE_STRATEGY_KEY in the result. This should only be used internally to allow safe merge of config vars. |
Definition at line 723 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputContent(), and MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getLanguage | ( | ) |
Get the primary language code of the output.
This returns the primary language of the output, including any LanguageConverter variant applied.
NOTE: This may differ from the wiki's default content language ($wgLanguageCode, MediaWikiServices::getContentLanguage), because each page may have its own "page language" set (PageStoreRecord, Title::getDbPageLanguageCode, ContentHandler::getPageLanguage).
NOTE: This may differ from the "page language" when parsing user interface messages, in which case this reflects the user language (including any variant preference).
NOTE: This may differ from the Parser's "target language" that was set while the Parser was parsing the page, because the final output is converted to the current user's preferred LanguageConverter variant (assuming this is a variant of the target language). See Parser::getTargetLanguageConverter()->getPreferredVariant(); use LanguageFactory::getParentLanguage() on the language code to obtain the base language code. LanguageConverter::getPreferredVariant() depends on the global RequestContext for the URL and the User language preference.
Finally, note that a single ParserOutput object may contain HTML content in multiple different languages and directions (T114640). Authors of wikitext and of parser extensions are expected to mark such subtrees with a lang
attribute (set to a BCP-47 value, see Language::toBcp47Code()) and a corresponding dir
attribute (see Language::getDir()). This method returns the language code for wrapper of the HTML content.
null
if a language was not set. Definition at line 1294 of file ParserOutput.php.
& ParserOutput::getLanguageLinks | ( | ) |
Definition at line 562 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata(), and MediaWiki\Deferred\LinksUpdate\LangLinksTable\setParserOutput().
ParserOutput::getLimitReportData | ( | ) |
Definition at line 763 of file ParserOutput.php.
ParserOutput::getLimitReportJSData | ( | ) |
Definition at line 767 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
& ParserOutput::getLinks | ( | ) |
Definition at line 664 of file ParserOutput.php.
Referenced by MediaWiki\Search\ParserOutputSearchDataExtractor\getOutgoingLinks(), and MediaWiki\Deferred\LinksUpdate\PageLinksTable\setParserOutput().
& ParserOutput::getLinksSpecial | ( | ) |
Definition at line 672 of file ParserOutput.php.
ParserOutput::getModules | ( | ) |
Definition at line 708 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputContent(), and MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getModuleStyles | ( | ) |
Definition at line 712 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputContent(), and MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getNewSection | ( | ) |
Definition at line 956 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getNoGallery | ( | ) |
Definition at line 700 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getOutputFlag | ( | string | $name | ) |
Provides a uniform interface to various boolean flags stored in the ParserOutput.
Flags internal to MediaWiki core should have names which are constants in ParserOutputFlags. Extensions should only use ::getOutputFlag() to query flags defined in ParserOutputFlags in core; they should use getExtensionData() to define their own flags.
string | $name | A flag name |
Definition at line 1560 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getOutputStrings | ( | string | $name | ) |
Provides a uniform interface to various boolean string sets stored in the ParserOutput.
String sets internal to MediaWiki core should have names which are constants in ParserOutputStringSets. Extensions should only use ::getOutputStrings() to query string sets defined in ParserOutputStringSets in core; they should use ::appendExtensionData() to define their own string sets.
string | $name | A string set name |
Definition at line 1640 of file ParserOutput.php.
ParserOutput::getPageProperties | ( | ) |
Return all the page properties set on this ParserOutput.
Definition at line 1481 of file ParserOutput.php.
Referenced by MediaWiki\Deferred\LinksUpdate\PagePropsTable\setParserOutput().
ParserOutput::getPageProperty | ( | string | $name | ) |
Look up a page property.
string | $name | The page property name to look up. |
Definition at line 1463 of file ParserOutput.php.
ParserOutput::getParsoidRenderId | ( | ) |
Return the Parsoid rendering id for this ParserOutput. This is only set where the ParserOutput has been generated by Parsoid.
Definition at line 1353 of file ParserOutput.php.
ParserOutput::getPreventClickjacking | ( | ) |
Get the prevent-clickjacking flag.
Definition at line 1917 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getRawText | ( | ) |
Get the cacheable text with <mw:editsection> markers still in it.
The return value is suitable for writing back via setText() but is not valid for display to the user.
Definition at line 376 of file ParserOutput.php.
References $mText.
ParserOutput::getRedirectHeader | ( | ) |
Return an HTML prefix to be applied on redirect pages, or null if this is not a redirect.
Definition at line 1321 of file ParserOutput.php.
ParserOutput::getRevisionTimestampUsed | ( | ) |
Definition at line 531 of file ParserOutput.php.
ParserOutput::getRevisionUsedSha1Base36 | ( | ) |
Definition at line 558 of file ParserOutput.php.
ParserOutput::getSections | ( | ) |
ParserOutput::getSpeculativePageIdUsed | ( | ) |
ParserOutput::getSpeculativeRevIdUsed | ( | ) |
& ParserOutput::getTemplateIds | ( | ) |
Definition at line 680 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
& ParserOutput::getTemplates | ( | ) |
Definition at line 676 of file ParserOutput.php.
Referenced by MediaWiki\Search\ParserOutputSearchDataExtractor\getTemplates(), and MediaWiki\Deferred\LinksUpdate\TemplateLinksTable\setParserOutput().
ParserOutput::getText | ( | $options = [] | ) |
Get the output HTML.
T293512: in the future, ParserOutput::getText() will be deprecated in favor of invoking the ParserOutputTransform pipeline directly on a ParserOutput.
array | $options | (since 1.31) Transformations to apply to the HTML
|
Definition at line 445 of file ParserOutput.php.
Referenced by MediaWiki\Status\StatusFormatter\getHTML(), and Message\parseText().
ParserOutput::getTimeSinceStart | ( | $clock | ) |
Returns the time since resetParseStartTime() was last called.
Clocks available are:
string | $clock |
Definition at line 1819 of file ParserOutput.php.
Referenced by MediaWiki\Parser\Parsoid\ParsoidParser\makeLimitReport().
ParserOutput::getTimestamp | ( | ) |
Definition at line 759 of file ParserOutput.php.
ParserOutput::getTitleText | ( | ) |
Definition at line 632 of file ParserOutput.php.
Referenced by Article\adjustDisplayTitle().
ParserOutput::getTOCData | ( | ) |
Definition at line 640 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::getTOCHTML | ( | ) |
Definition at line 751 of file ParserOutput.php.
References wfDeprecated().
ParserOutput::getTransformedText | ( | ) |
Gets the text set temporarily by output transformations and stored in $mTransformedText.
If the text has not been transformed yet, returns the raw text $mText.
Definition at line 391 of file ParserOutput.php.
ParserOutput::getWarnings | ( | ) |
Definition at line 734 of file ParserOutput.php.
ParserOutput::getWrapperDivClass | ( | ) |
Returns the class (or classes) to be used with the wrapper div for this output.
If there is no wrapper class given, no wrapper div should be added. The wrapper div is added automatically by getText().
Definition at line 483 of file ParserOutput.php.
Referenced by MediaWiki\Output\OutputPage\addParserOutputMetadata().
ParserOutput::hasReducedExpiry | ( | ) |
Check whether the cache TTL was lowered from the site default.
When content is determined by more than hard state (e.g. page edits), such as template/file transclusions based on the current timestamp or extension tags that generate lists based on queries, this return true.
This method mainly exists to facilitate the logic in WikiPage::triggerOpportunisticLinksUpdate. As such, beware that reducing the TTL for reasons that do not relate to "dynamic content", may have the side-effect of incurring more RefreshLinksJob executions.
Definition at line 1887 of file ParserOutput.php.
Referenced by MediaWiki\Parser\Parsoid\ParsoidParser\makeLimitReport(), and WikiPage\triggerOpportunisticLinksUpdate().
ParserOutput::hasText | ( | ) |
Returns true if text was passed to the constructor, or set using setText().
Returns false if null was passed to the $text parameter of the constructor to indicate that this ParserOutput only contains meta-data, and the HTML output is undetermined.
Definition at line 364 of file ParserOutput.php.
Referenced by MediaWiki\Parser\RevisionOutputCache\save(), and ParserCache\save().
|
protected |
Initialize member fields from an array returned by jsonSerialize().
JsonUnserializer | $unserializer | |
array | $jsonData |
Reimplemented from CacheTime.
Definition at line 2483 of file ParserOutput.php.
|
static |
Checks, if a url is pointing to the own server.
string | $internal | The server to check against |
string | $url | The url to check |
Definition at line 968 of file ParserOutput.php.
ParserOutput::mergeHtmlMetaDataFrom | ( | ParserOutput | $source | ) |
Merges HTML metadata such as head items, JS config vars, and HTTP cache control info from $source into this ParserOutput.
This should be used whenever the HTML in $source has been somehow merged into the HTML of this ParserOutput.
ParserOutput | $source |
Definition at line 2047 of file ParserOutput.php.
Referenced by MediaWiki\Parser\Parsoid\PageBundleParserOutputConverter\parserOutputFromPageBundle().
ParserOutput::mergeInternalMetaDataFrom | ( | ParserOutput | $source | ) |
Merges internal metadata such as flags, accessed options, and profiling info from $source into this ParserOutput.
This should be used whenever the state of $source has any impact on the state of this ParserOutput.
ParserOutput | $source |
Definition at line 2012 of file ParserOutput.php.
ParserOutput::mergeTrackingMetaDataFrom | ( | ParserOutput | $source | ) |
Merges dependency tracking metadata such as backlinks, images used, and extension data from $source into this ParserOutput.
This allows dependency tracking to be done for the combined output of multiple content slots.
ParserOutput | $source |
Definition at line 2125 of file ParserOutput.php.
|
static |
Creates a new instance of the class and initialized it from the $json array.
JsonUnserializer | $unserializer | an instance of JsonUnserializer to use for nested properties if they need special care. |
array | $json |
Reimplemented from CacheTime.
Definition at line 2472 of file ParserOutput.php.
ParserOutput::resetParseStartTime | ( | ) |
Resets the parse start timestamps for future calls to getTimeSinceStart()
Definition at line 1804 of file ParserOutput.php.
ParserOutput::setCategories | ( | array | $c | ) |
Overwrite the category map.
array<string,string> | $c Map of category names to sort keys |
Definition at line 884 of file ParserOutput.php.
ParserOutput::setDisplayTitle | ( | $text | ) |
Override the title to be used for display.
string | $text | Desired title text |
Definition at line 1235 of file ParserOutput.php.
ParserOutput::setEnableOOUI | ( | bool | $enable = false | ) |
Enables OOUI, if true, in any OutputPage instance this ParserOutput object is added to.
bool | $enable | If OOUI should be enabled or not |
Definition at line 904 of file ParserOutput.php.
ParserOutput::setExtensionData | ( | $key, | |
$value | |||
) |
Attaches arbitrary data to this ParserObject.
This can be used to store some information in the ParserOutput object for later use during page output. The data will be cached along with the ParserOutput object, but unlike data set using setPageProperty(), it is not recorded in the database.
This method is provided to overcome the unsafe practice of attaching extra information to a ParserObject by directly assigning member variables.
To use setExtensionData() to pass extension information from a hook inside the parser to a hook in the page output, use this in the parser hook:
And then later, in OutputPageParserOutput or similar:
In MediaWiki 1.20 and older, you have to use a custom member variable within the ParserOutput object:
string | $key | The key for accessing the data. Extensions should take care to avoid conflicts in naming keys. It is suggested to use the extension's name as a prefix. |
mixed | JsonUnserializable | $value | The value to set. Setting a value to null is equivalent to removing the value. |
Definition at line 1706 of file ParserOutput.php.
ParserOutput::setFlag | ( | $flag | ) |
Attach a flag to the output so that it can be checked later to handle special cases.
string | $flag |
Definition at line 1363 of file ParserOutput.php.
ParserOutput::setHideNewSection | ( | bool | $value | ) |
bool | $value | Hide the new section link? |
Definition at line 948 of file ParserOutput.php.
ParserOutput::setIndexPolicy | ( | $policy | ) |
Definition at line 843 of file ParserOutput.php.
ParserOutput::setIndicator | ( | $id, | |
$content | |||
) |
ParserOutput::setJsConfigVar | ( | string | $key, |
$value | |||
) |
Add a variable to be set in mw.config in JavaScript.
In order to ensure the result is independent of the parse order, the values set here must be unique – that is, you can pass the same $key multiple times but ONLY if the $value is identical each time. If you want to collect multiple pieces of data under a single key, use ::appendJsConfigVar().
string | $key | Key to use under mw.config |
mixed | null | $value | Value of the configuration variable. |
Definition at line 1135 of file ParserOutput.php.
ParserOutput::setLanguage | ( | Bcp47Code | $lang | ) |
Set the primary language of the output.
See the discussion and caveats in ::getLanguage().
Bcp47Code | $lang | The primary language for this output, including any variant specification. |
Definition at line 1311 of file ParserOutput.php.
ParserOutput::setLanguageLinks | ( | $ll | ) |
Definition at line 818 of file ParserOutput.php.
References wfSetVar().
ParserOutput::setLimitReportData | ( | $key, | |
$value | |||
) |
Sets parser limit report data for a key.
The key is used as the prefix for various messages used for formatting:
Note that all values are interpreted as wikitext, and so should be encoded with htmlspecialchars() as necessary, but should avoid complex HTML for display in the "NewPP limit report" comment.
string | $key | Message key |
mixed | $value | Appropriate for Message::params() |
Definition at line 1847 of file ParserOutput.php.
Referenced by MediaWiki\Parser\Parsoid\ParsoidParser\makeLimitReport().
ParserOutput::setNewSection | ( | $value | ) |
Definition at line 941 of file ParserOutput.php.
ParserOutput::setNoGallery | ( | $value | ) |
Definition at line 696 of file ParserOutput.php.
ParserOutput::setOutputFlag | ( | string | $name, |
bool | $val = true |
||
) |
Provides a uniform interface to various boolean flags stored in the ParserOutput.
Flags internal to MediaWiki core should have names which are constants in ParserOutputFlags. Extensions should use setExtensionData() rather than creating new flags with ::setOutputFlag() in order to prevent namespace conflicts.
Flags are always combined with OR. That is, the flag is set in the resulting ParserOutput if the flag is set in any of the fragments composing the ParserOutput.
string | $name | A flag name |
bool | $val |
Definition at line 1508 of file ParserOutput.php.
Referenced by WikitextContentHandler\fillParserOutput().
ParserOutput::setPageProperty | ( | string | $name, |
$value | |||
) |
Set a page property to be stored in the page_props database table.
page_props is a key value store indexed by the page ID. This allows the parser to set a property on a page which can then be quickly retrieved given the page ID or via a DB join when given the page title.
Since 1.23, page_props are also indexed by numeric value, to allow for efficient "top k" queries of pages wrt a given property.
setPageProperty() is thus used to propagate properties from the parsed page to request contexts other than a page view of the currently parsed article.
Some applications examples:
If you are writing an extension where you want to set a property in the parser which is used by an OutputPageParserOutput hook, you have to associate the extension data directly with the ParserOutput object. Since MediaWiki 1.21, you should use setExtensionData() to do this:
And then later, in OutputPageParserOutput or similar:
string | $name | |
int | float | string | bool | null | $value |
Definition at line 1448 of file ParserOutput.php.
ParserOutput::setParsoidRenderId | ( | ParsoidRenderID | $parsoidRenderId | ) |
Store a unique rendering id for this output. This is used by the REST API for stashing content to support editing use cases.
ParsoidRenderID | $parsoidRenderId |
Definition at line 1341 of file ParserOutput.php.
ParserOutput::setPreventClickjacking | ( | bool | $flag | ) |
Set the prevent-clickjacking flag.
If set this will cause an X-Frame-Options
header appropriate for edit pages to be sent. The header value is controlled by $wgEditPageFrameOptions
.
This is the default for special pages. If you display a CSRF-protected form on an ordinary view page, then you need to call this function with $flag = true
.
bool | $flag | New flag value |
Definition at line 1906 of file ParserOutput.php.
ParserOutput::setRedirectHeader | ( | string | $html | ) |
Set an HTML prefix to be applied on redirect pages.
string | $html | HTML to prepend to redirect pages |
Definition at line 1329 of file ParserOutput.php.
Referenced by WikitextContentHandler\fillParserOutput().
ParserOutput::setRevisionTimestampUsed | ( | $timestamp | ) |
string | $timestamp | TS_MW timestamp |
Definition at line 523 of file ParserOutput.php.
ParserOutput::setRevisionUsedSha1Base36 | ( | $hash | ) |
string | $hash | Lowercase SHA-1 base 36 hash |
Definition at line 539 of file ParserOutput.php.
ParserOutput::setSections | ( | array | $sectionArray | ) |
array | $sectionArray |
Definition at line 837 of file ParserOutput.php.
ParserOutput::setSpeculativePageIdUsed | ( | $id | ) |
ParserOutput::setSpeculativeRevIdUsed | ( | $id | ) |
ParserOutput::setText | ( | $text | ) |
Set the text of the ParserOutput.
If you did not generate html, pass null to mark it as such.
string | null | $text | HTML content of ParserOutput or null if not generated |
Definition at line 811 of file ParserOutput.php.
References wfSetVar().
Referenced by CssContentHandler\fillParserOutput(), FallbackContentHandler\fillParserOutput(), JavaScriptContentHandler\fillParserOutput(), TextContentHandler\fillParserOutput(), JsonContentHandler\fillParserOutput(), WikitextContentHandler\fillParserOutput(), MediaWiki\Pager\TablePager\getBodyOutput(), and MediaWiki\Pager\TablePager\getFullOutput().
ParserOutput::setTimestamp | ( | $timestamp | ) |
Definition at line 866 of file ParserOutput.php.
References wfSetVar().
Referenced by MediaWiki\Parser\RevisionOutputCache\save().
ParserOutput::setTitleText | ( | $t | ) |
Definition at line 822 of file ParserOutput.php.
References wfSetVar().
ParserOutput::setTOCData | ( | TOCData | $tocData | ) |
TOCData | $tocData | Table of contents data for the page |
Definition at line 829 of file ParserOutput.php.
Referenced by MediaWiki\Specials\SpecialVersion\execute(), and MediaWiki\Specials\SpecialEditWatchlist\executeViewEditWatchlist().
ParserOutput::setTOCHTML | ( | $tochtml | ) |
Definition at line 861 of file ParserOutput.php.
References wfDeprecated(), and wfSetVar().
ParserOutput::setTransformedText | ( | string | $text | ) |
Get the text transformed by an output transform.
Definition at line 403 of file ParserOutput.php.
|
protected |
Returns a JSON serializable structure representing this ParserOutput instance.
Reimplemented from CacheTime.
Definition at line 2395 of file ParserOutput.php.
ParserOutput::unsetPageProperty | ( | string | $name | ) |
Remove a page property.
string | $name | The page property name. |
Definition at line 1472 of file ParserOutput.php.
ParserOutput::updateRuntimeAdaptiveExpiry | ( | $ttl | ) |
Lower the runtime adaptive TTL to at most this value.
int | $ttl |
Definition at line 1927 of file ParserOutput.php.
const ParserOutput::MW_MERGE_STRATEGY_KEY = '_mw-strategy' |
const ParserOutput::MW_MERGE_STRATEGY_UNION = 'union' |
Merge strategy to use for ParserOutput accumulators: "union" means that values are strings, stored as a set, and exposed as a PHP associative array mapping from values to true
.
This constant should be treated as
Definition at line 87 of file ParserOutput.php.
const ParserOutput::PARSOID_RENDER_ID_KEY = 'parsoid-render-id' |
Definition at line 93 of file ParserOutput.php.
const ParserOutput::SUPPORTS_STATELESS_TRANSFORMS = 1 |
Feature flags to indicate to extensions that MediaWiki core supports and uses getText() stateless transforms.
Definition at line 64 of file ParserOutput.php.
const ParserOutput::SUPPORTS_UNWRAP_TRANSFORM = 1 |
Definition at line 69 of file ParserOutput.php.