MediaWiki  master
LinkHolderArray Class Reference
Collaboration diagram for LinkHolderArray:

Public Member Functions

 __construct ( $parent)
 
 __destruct ()
 Reduce memory usage to reduce the impact of circular references. More...
 
 __sleep ()
 Don't serialize the parent object, it is big, and not needed when it is a parameter to mergeForeign(), which is the only application of serializing at present. More...
 
 __wakeup ()
 Recreate the Title objects. More...
 
 clear ()
 Clear all stored link holders. More...
 
 getSubArray ( $text)
 Get a subset of the current LinkHolderArray which is sufficient to interpret the given text. More...
 
 isBig ()
 Returns true if the memory requirements of this object are getting large. More...
 
 makeHolder ( $nt, $text='', $query=[], $trail='', $prefix='')
 Make a link placeholder. More...
 
 merge ( $other)
 Merge another LinkHolderArray into this one. More...
 
 mergeForeign ( $other, $texts)
 Merge a LinkHolderArray from another parser instance into this one. More...
 
 replace (&$text)
 Replace link placeholders with actual links, in the buffer. More...
 
 replaceText ( $text)
 Replace link placeholders with plain text of links (not HTML-formatted). More...
 
 replaceTextCallback ( $matches)
 Callback for replaceText() More...
 

Public Attributes

 $internals = []
 
 $interwikis = []
 
Parser $parent
 
 $size = 0
 

Protected Member Functions

 doVariants (&$colours)
 Modify $this->internals and $colours according to language variant linking rules. More...
 
 mergeForeignCallback ( $m)
 
 replaceInternal (&$text)
 Replace internal links SecurityCheck-XSS Gets confused with $entry['pdbk']. More...
 
 replaceInterwiki (&$text)
 Replace interwiki links. More...
 

Protected Attributes

 $tempIdOffset
 

Detailed Description

Definition at line 29 of file LinkHolderArray.php.

Constructor & Destructor Documentation

◆ __construct()

LinkHolderArray::__construct (   $parent)
Parameters
Parser$parent

Definition at line 43 of file LinkHolderArray.php.

References $parent.

◆ __destruct()

LinkHolderArray::__destruct ( )

Reduce memory usage to reduce the impact of circular references.

Definition at line 50 of file LinkHolderArray.php.

References $name, $value, and as.

Member Function Documentation

◆ __sleep()

LinkHolderArray::__sleep ( )

Don't serialize the parent object, it is big, and not needed when it is a parameter to mergeForeign(), which is the only application of serializing at present.

Compact the titles, only serialize the text form.

Returns
array

Definition at line 64 of file LinkHolderArray.php.

References as.

◆ __wakeup()

LinkHolderArray::__wakeup ( )

Recreate the Title objects.

Definition at line 84 of file LinkHolderArray.php.

References as, and Title\newFromText().

◆ clear()

LinkHolderArray::clear ( )

Clear all stored link holders.

Make sure you don't have any text left using these link holders, before you call this

Definition at line 214 of file LinkHolderArray.php.

◆ doVariants()

LinkHolderArray::doVariants ( $colours)
protected

Modify $this->internals and $colours according to language variant linking rules.

Parameters
array&$colours

Definition at line 454 of file LinkHolderArray.php.

References $colours, $dbr, $linkRenderer, $output, $s, $title, as, DB_REPLICA, LinkCache\getSelectFields(), list, Title\makeTitle(), Title\makeTitleSafe(), NS_CATEGORY, NS_SPECIAL, Hooks\run(), and wfGetDB().

Referenced by replaceInternal().

◆ getSubArray()

LinkHolderArray::getSubArray (   $text)

Get a subset of the current LinkHolderArray which is sufficient to interpret the given text.

Parameters
string$text
Returns
LinkHolderArray

Definition at line 171 of file LinkHolderArray.php.

◆ isBig()

LinkHolderArray::isBig ( )

Returns true if the memory requirements of this object are getting large.

Returns
bool

Definition at line 205 of file LinkHolderArray.php.

References $wgLinkHolderBatchSize.

◆ makeHolder()

LinkHolderArray::makeHolder (   $nt,
  $text = '',
  $query = [],
  $trail = '',
  $prefix = '' 
)

Make a link placeholder.

The text returned can be later resolved to a real link with replaceLinkHolders(). This is done for two reasons: firstly to avoid further parsing of interwiki links, and secondly to allow all existence checks and article length checks (for stub links) to be bundled into a single query.

Parameters
Title$nt
string$text
array$query[optional]
string$trail[optional]
string$prefix[optional]
Returns
string

Definition at line 233 of file LinkHolderArray.php.

References $query, list, and Linker\splitTrail().

◆ merge()

LinkHolderArray::merge (   $other)

Merge another LinkHolderArray into this one.

Parameters
LinkHolderArray$other

Definition at line 103 of file LinkHolderArray.php.

References as.

◆ mergeForeign()

LinkHolderArray::mergeForeign (   $other,
  $texts 
)

Merge a LinkHolderArray from another parser instance into this one.

The keys will not be preserved. Any text which went with the old LinkHolderArray and needs to work with the new one should be passed in the $texts array. The strings in this array will have their link holders converted for use in the destination link holder. The resulting array of strings will be returned.

Parameters
LinkHolderArray$other
array$textsArray of strings
Returns
array

Definition at line 127 of file LinkHolderArray.php.

References as, and null.

◆ mergeForeignCallback()

LinkHolderArray::mergeForeignCallback (   $m)
protected
Parameters
array$m
Returns
string

Definition at line 161 of file LinkHolderArray.php.

References $tempIdOffset.

◆ replace()

LinkHolderArray::replace ( $text)

Replace link placeholders with actual links, in the buffer.

Parameters
string&$text

Definition at line 271 of file LinkHolderArray.php.

References replaceInternal(), and replaceInterwiki().

◆ replaceInternal()

LinkHolderArray::replaceInternal ( $text)
protected

Replace internal links SecurityCheck-XSS Gets confused with $entry['pdbk'].

Parameters
string&$text

Definition at line 281 of file LinkHolderArray.php.

References $attribs, $colours, $dbr, $link, $linkRenderer, $matches, $output, $query, $res, $s, $title, array(), as, DB_REPLICA, doVariants(), LinkCache\getSelectFields(), Linker\makeSelfLinkObj(), Title\makeTitle(), NS_SPECIAL, null, Hooks\run(), use, and wfGetDB().

Referenced by replace().

◆ replaceInterwiki()

LinkHolderArray::replaceInterwiki ( $text)
protected

Replace interwiki links.

Parameters
string&$textSecurityCheck-XSS Gets confused with $this->interwikis['pdbk']

Definition at line 424 of file LinkHolderArray.php.

References $link, $linkRenderer, $matches, $output, array(), as, and use.

Referenced by replace().

◆ replaceText()

LinkHolderArray::replaceText (   $text)

Replace link placeholders with plain text of links (not HTML-formatted).

Parameters
string$text
Returns
string

Definition at line 618 of file LinkHolderArray.php.

◆ replaceTextCallback()

LinkHolderArray::replaceTextCallback (   $matches)

Callback for replaceText()

Parameters
array$matches
Returns
string
Access:
private

Definition at line 634 of file LinkHolderArray.php.

References $matches, $type, and list.

Member Data Documentation

◆ $internals

LinkHolderArray::$internals = []

Definition at line 30 of file LinkHolderArray.php.

◆ $interwikis

LinkHolderArray::$interwikis = []

Definition at line 31 of file LinkHolderArray.php.

◆ $parent

Parser LinkHolderArray::$parent

Definition at line 37 of file LinkHolderArray.php.

Referenced by __construct().

◆ $size

LinkHolderArray::$size = 0

Definition at line 32 of file LinkHolderArray.php.

◆ $tempIdOffset

LinkHolderArray::$tempIdOffset
protected

Definition at line 38 of file LinkHolderArray.php.

Referenced by mergeForeignCallback().


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