MediaWiki  REL1_21
ParserOutput Class Reference
Inheritance diagram for ParserOutput:
Collaboration diagram for ParserOutput:

List of all members.

Public Member Functions

 __construct ($text= '', $languageLinks=array(), $categoryLinks=array(), $containsOldMagic=false, $titletext= '')
 addCategory ($c, $sort)
 addExternalLink ($url)
 addHeadItem ($section, $tag=false)
 Add some text to the "<head>".
 addImage ($name, $timestamp=null, $sha1=null)
 Register a file dependency for this output.
 addInterwikiLink ($title)
 addLanguageLink ($t)
 addLink (Title $title, $id=null)
 Record a local or interwiki inline link for saving in future link tables.
 addModuleMessages ($modules)
 addModules ($modules)
 addModuleScripts ($modules)
 addModuleStyles ($modules)
 addOutputHook ($hook, $data=false)
 addOutputPageMetadata (OutputPage $out)
 Copy items from the OutputPage object into this one.
 addSecondaryDataUpdate (DataUpdate $update)
 Adds an update job to the output.
 addTemplate ($title, $page_id, $rev_id)
 Register a template dependency for this output.
 addWarning ($s)
getCategories ()
 getCategoryLinks ()
 getDisplayTitle ()
 Get the title to be used for display.
 getEditSectionTokens ()
 getExtensionData ($key)
 Gets extensions data previously attached to this ParserOutput using setExtensionData().
getExternalLinks ()
getFileSearchOptions ()
 getFlag ($flag)
 getHeadItems ()
 getHideNewSection ()
getImages ()
 getIndexPolicy ()
 getInterwikiLinks ()
getLanguageLinks ()
getLinks ()
 getModuleMessages ()
 getModules ()
 getModuleScripts ()
 getModuleStyles ()
 getNewSection ()
 getNoGallery ()
 getOutputHooks ()
 getProperties ()
 getProperty ($name)
 getSecondaryDataUpdates (Title $title=null, $recursive=true)
 Returns any DataUpdate jobs to be executed in order to store secondary information extracted from the page's content, including a LinksUpdate object for all links stored in this ParserOutput object.
 getSections ()
getTemplateIds ()
getTemplates ()
 getText ()
 getTimestamp ()
 getTitleText ()
 getTOCHTML ()
 getUsedOptions ()
 Returns the options from its ParserOptions which have been taken into account to produce this output or false if not available.
 getWarnings ()
 hideNewSection ($value)
 recordOption ($option)
 Callback passed by the Parser to the ParserOptions to keep track of which options are used.
 replaceEditSectionLinksCallback ($m)
 callback used by getText to replace editsection tokens
 setCategoryLinks ($cl)
 setDisplayTitle ($text)
 Override the title to be used for display.
 setEditSectionTokens ($t)
 setExtensionData ($key, $value)
 Attaches arbitrary data to this ParserObject.
 setFlag ($flag)
 Fairly generic flag setter thingy.
 setIndexPolicy ($policy)
 setLanguageLinks ($ll)
 setNewSection ($value)
 setProperty ($name, $value)
 Set a property to be stored in the page_props database table.
 setSections ($toc)
 setText ($text)
 setTimestamp ($timestamp)
 setTitleText ($t)
 setTOCHTML ($tochtml)

Static Public Member Functions

static isLinkInternal ($internal, $url)
 Checks, if a url is pointing to the own server.

Public Attributes

 $mCategories
 $mEditSectionTokens = false
 $mExternalLinks = array()
 $mFileSearchOptions = array()
 $mHeadItems = array()
 $mHideNewSection = false
 $mImages = array()
 $mInterwikiLinks = array()
 $mLanguageLinks
 $mLinks = array()
 $mModuleMessages = array()
 $mModules = array()
 $mModuleScripts = array()
 $mModuleStyles = array()
 $mNewSection = false
 $mNoGallery = false
 $mOutputHooks = array()
 $mProperties = array()
 $mSections = array()
 $mTemplateIds = array()
 $mTemplates = array()
 $mText
 $mTimestamp
 $mTitleText
 $mTOCHTML = ''
 $mWarnings = array()
const EDITSECTION_REGEX = '#<(?:mw:)?editsection page="(.*?)" section="(.*?)"(?:/>|>(.*?)(</(?:mw:)?editsection>))#'

Private Attributes

 $mAccessedOptions = array()
 $mExtensionData = array()
 $mIndexPolicy = ''
 $mSecondaryDataUpdates = array()

Detailed Description

Definition at line 24 of file ParserOutput.php.


Constructor & Destructor Documentation

ParserOutput::__construct ( text = '',
languageLinks = array(),
categoryLinks = array(),
containsOldMagic = false,
titletext = '' 
)

Definition at line 58 of file ParserOutput.php.


Member Function Documentation

ParserOutput::addCategory ( c,
sort 
)

Definition at line 135 of file ParserOutput.php.

References $sort.

Definition at line 174 of file ParserOutput.php.

References $url, global, and isLinkInternal().

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.

Definition at line 275 of file ParserOutput.php.

References $section.

ParserOutput::addImage ( name,
timestamp = null,
sha1 = null 
)

Register a file dependency for this output.

Parameters:
string$nameTitle dbKey
string$timestampMW timestamp of file creation (or false if non-existing)
string$sha1base 36 SHA-1 of file (or false if non-existing)
Returns:
void

Definition at line 228 of file ParserOutput.php.

References $name, $timestamp, and array().

Parameters:
$titleTitle object, must be an interwiki link
Exceptions:
MWExceptionif given invalid input

Definition at line 259 of file ParserOutput.php.

References $title, and array().

Referenced by addLink().

Definition at line 136 of file ParserOutput.php.

References $t.

ParserOutput::addLink ( Title title,
id = null 
)

Record a local or interwiki inline link for saving in future link tables.

Parameters:
$titleTitle object
$idMixed: optional known page_id so we can skip the lookup

Definition at line 193 of file ParserOutput.php.

References addInterwikiLink(), array(), Title\getArticleID(), Title\getDBkey(), Title\getNamespace(), and Title\isExternal().

Definition at line 295 of file ParserOutput.php.

Referenced by addOutputPageMetadata().

ParserOutput::addModules ( modules)

Definition at line 283 of file ParserOutput.php.

Referenced by addOutputPageMetadata().

Definition at line 287 of file ParserOutput.php.

Referenced by addOutputPageMetadata().

Definition at line 291 of file ParserOutput.php.

Referenced by addOutputPageMetadata().

ParserOutput::addOutputHook ( hook,
data = false 
)

Definition at line 139 of file ParserOutput.php.

References array().

Adds an update job to the output.

Any update jobs added to the output will eventually bexecuted in order to store any secondary information extracted from the page's content.

Since:
1.20
Parameters:
DataUpdate$update

Definition at line 449 of file ParserOutput.php.

ParserOutput::addTemplate ( title,
page_id,
rev_id 
)

Register a template dependency for this output.

Parameters:
$titleTitle
$page_id
$rev_id
Returns:
void

Definition at line 242 of file ParserOutput.php.

References $title, and array().

Definition at line 137 of file ParserOutput.php.

References $s.

Definition at line 102 of file ParserOutput.php.

Definition at line 101 of file ParserOutput.php.

Get the title to be used for display.

Returns:
String

Definition at line 330 of file ParserOutput.php.

References $t, and getTitleText().

Definition at line 105 of file ParserOutput.php.

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.

Since:
1.21
Parameters:
string$keyThe key to look up.
Returns:
mixed The value previously set for the given key using setExtensionData( $key ), or null if no value was set for this key.

Definition at line 539 of file ParserOutput.php.

Definition at line 111 of file ParserOutput.php.

Definition at line 110 of file ParserOutput.php.

ParserOutput::getFlag ( flag)

Definition at line 345 of file ParserOutput.php.

Definition at line 113 of file ParserOutput.php.

Definition at line 149 of file ParserOutput.php.

Definition at line 109 of file ParserOutput.php.

Definition at line 120 of file ParserOutput.php.

Definition at line 100 of file ParserOutput.php.

Definition at line 99 of file ParserOutput.php.

Definition at line 106 of file ParserOutput.php.

Definition at line 117 of file ParserOutput.php.

Definition at line 114 of file ParserOutput.php.

Definition at line 115 of file ParserOutput.php.

Definition at line 116 of file ParserOutput.php.

Definition at line 152 of file ParserOutput.php.

Definition at line 112 of file ParserOutput.php.

Definition at line 118 of file ParserOutput.php.

Definition at line 414 of file ParserOutput.php.

References array().

Definition at line 410 of file ParserOutput.php.

References $name.

ParserOutput::getSecondaryDataUpdates ( Title title = null,
recursive = true 
)

Returns any DataUpdate jobs to be executed in order to store secondary information extracted from the page's content, including a LinksUpdate object for all links stored in this ParserOutput object.

Note:
: Avoid using this method directly, use ContentHandler::getSecondaryDataUpdates() instead! The content handler may provide additional update objects.
Since:
1.20
Parameters:
$titleTitle The title of the page we're updating. If not given, a title object will be created based on $this->getTitleText()
$recursiveBoolean: queue jobs for recursive updates?
Returns:
Array. An array of instances of DataUpdate

Definition at line 469 of file ParserOutput.php.

References $linksUpdate, $title, array(), getTitleText(), and Title\newFromText().

Definition at line 104 of file ParserOutput.php.

Definition at line 108 of file ParserOutput.php.

Definition at line 107 of file ParserOutput.php.

Definition at line 68 of file ParserOutput.php.

References array(), and EDITSECTION_REGEX.

Definition at line 122 of file ParserOutput.php.

Definition at line 103 of file ParserOutput.php.

Referenced by getDisplayTitle(), and getSecondaryDataUpdates().

Definition at line 121 of file ParserOutput.php.

Returns the options from its ParserOptions which have been taken into account to produce this output or false if not available.

Returns:
mixed Array

Definition at line 426 of file ParserOutput.php.

References array().

Definition at line 119 of file ParserOutput.php.

Definition at line 146 of file ParserOutput.php.

References $value.

static ParserOutput::isLinkInternal ( internal,
url 
) [static]

Checks, if a url is pointing to the own server.

Parameters:
string$internalthe server to check against
string$urlthe url to check
Returns:
bool

Definition at line 163 of file ParserOutput.php.

References $url, check, http, in, is, of, query, and server.

Referenced by addExternalLink(), and ParserOutputTest\testIsLinkInternal().

Callback passed by the Parser to the ParserOptions to keep track of which options are used.

Access:
private

Definition at line 437 of file ParserOutput.php.

callback used by getText to replace editsection tokens

Access:
private
Parameters:
$m
Exceptions:
MWException
Returns:
mixed

Definition at line 83 of file ParserOutput.php.

References $skin, $wgLang, $wgOut, array(), global, and Title\newFromText().

Definition at line 126 of file ParserOutput.php.

References wfSetVar().

Override the title to be used for display.

-- this is assumed to have been validated (check equal normalisation, etc.)

Parameters:
string$textdesired title text

Definition at line 320 of file ParserOutput.php.

References setProperty(), and setTitleText().

Definition at line 130 of file ParserOutput.php.

References $t, and wfSetVar().

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 setProperty(), 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:

Example:
    $parser->getOutput()->setExtensionData( 'my_ext_foo', '...' );

And then later, in OutputPageParserOutput or similar:

Example:
    $output->getExtensionData( 'my_ext_foo' );

In MediaWiki 1.20 and older, you have to use a custom member variable within the ParserOutput object:

Example:
    $parser->getOutput()->my_ext_foo = '...';
Since:
1.21
Parameters:
string$keyThe 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$valueThe value to set. Setting a value to null is equivalent to removing the value.

Definition at line 520 of file ParserOutput.php.

References $value.

ParserOutput::setFlag ( flag)

Fairly generic flag setter thingy.

Definition at line 341 of file ParserOutput.php.

Definition at line 131 of file ParserOutput.php.

References wfSetVar().

Definition at line 125 of file ParserOutput.php.

References wfSetVar().

Definition at line 143 of file ParserOutput.php.

References $value.

ParserOutput::setProperty ( name,
value 
)

Set a 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.

setProperty() 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:

* To implement hidden categories, hiding pages from category listings by storing a property.

* Overriding the displayed article title.

See also:
ParserOutput::setDisplayTitle()

* To implement image tagging, for example displaying an icon on an image thumbnail to indicate that it is listed for deletion on Wikimedia Commons. This is not actually implemented, yet but would be pretty cool.

Note:
: Do not use setProperty() to set a property which is only used in a context where the ParserOutput object itself is already available, for example a normal page view. There is no need to save such a property in the database since it the text is already parsed. You can just hook OutputPageParserOutput and get your data out of the ParserOutput object.

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 can use setExtensionData() to do this:

Example:
    $parser->getOutput()->setExtensionData( 'my_ext_foo', '...' );

And then later, in OutputPageParserOutput or similar:

Example:
    $output->getExtensionData( 'my_ext_foo' );

In MediaWiki 1.20 and older, you have to use a custom member variable within the ParserOutput object:

Example:
    $parser->getOutput()->my_ext_foo = '...';

Definition at line 406 of file ParserOutput.php.

References $name, and $value.

Referenced by setDisplayTitle().

Definition at line 129 of file ParserOutput.php.

References wfSetVar().

ParserOutput::setText ( text)

Definition at line 124 of file ParserOutput.php.

References wfSetVar().

ParserOutput::setTimestamp ( timestamp)

Definition at line 133 of file ParserOutput.php.

References $timestamp, and wfSetVar().

Definition at line 128 of file ParserOutput.php.

References $t, and wfSetVar().

Referenced by setDisplayTitle().

ParserOutput::setTOCHTML ( tochtml)

Definition at line 132 of file ParserOutput.php.

References wfSetVar().


Member Data Documentation

ParserOutput::$mAccessedOptions = array() [private]

Definition at line 52 of file ParserOutput.php.

ParserOutput::$mCategories

Definition at line 25 of file ParserOutput.php.

ParserOutput::$mEditSectionTokens = false

Definition at line 47 of file ParserOutput.php.

ParserOutput::$mExtensionData = array() [private]

Definition at line 54 of file ParserOutput.php.

ParserOutput::$mExternalLinks = array()

Definition at line 34 of file ParserOutput.php.

ParserOutput::$mFileSearchOptions = array()

Definition at line 33 of file ParserOutput.php.

ParserOutput::$mHeadItems = array()

Definition at line 39 of file ParserOutput.php.

ParserOutput::$mHideNewSection = false

Definition at line 37 of file ParserOutput.php.

ParserOutput::$mImages = array()

Definition at line 32 of file ParserOutput.php.

ParserOutput::$mIndexPolicy = '' [private]

Definition at line 51 of file ParserOutput.php.

ParserOutput::$mInterwikiLinks = array()

Definition at line 35 of file ParserOutput.php.

ParserOutput::$mLanguageLinks

Definition at line 25 of file ParserOutput.php.

ParserOutput::$mLinks = array()

Definition at line 29 of file ParserOutput.php.

ParserOutput::$mModuleMessages = array()

Definition at line 43 of file ParserOutput.php.

ParserOutput::$mModules = array()

Definition at line 40 of file ParserOutput.php.

ParserOutput::$mModuleScripts = array()

Definition at line 41 of file ParserOutput.php.

ParserOutput::$mModuleStyles = array()

Definition at line 42 of file ParserOutput.php.

ParserOutput::$mNewSection = false

Definition at line 36 of file ParserOutput.php.

ParserOutput::$mNoGallery = false

Definition at line 38 of file ParserOutput.php.

ParserOutput::$mOutputHooks = array()

Definition at line 44 of file ParserOutput.php.

ParserOutput::$mProperties = array()

Definition at line 48 of file ParserOutput.php.

ParserOutput::$mSecondaryDataUpdates = array() [private]

Definition at line 53 of file ParserOutput.php.

ParserOutput::$mSections = array()

Definition at line 46 of file ParserOutput.php.

ParserOutput::$mTemplateIds = array()

Definition at line 31 of file ParserOutput.php.

ParserOutput::$mTemplates = array()

Definition at line 30 of file ParserOutput.php.

ParserOutput::$mText

Definition at line 25 of file ParserOutput.php.

ParserOutput::$mTimestamp

Definition at line 49 of file ParserOutput.php.

ParserOutput::$mTitleText

Definition at line 25 of file ParserOutput.php.

ParserOutput::$mTOCHTML = ''

Definition at line 49 of file ParserOutput.php.

ParserOutput::$mWarnings = array()

Definition at line 45 of file ParserOutput.php.

const ParserOutput::EDITSECTION_REGEX = '#<(?:mw:)?editsection page="(.*?)" section="(.*?)"(?:/>|>(.*?)(</(?:mw:)?editsection>))#'

Definition at line 56 of file ParserOutput.php.

Referenced by getText().


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