MediaWiki  REL1_22
LinksUpdate Class Reference

See docs/deferred.txt. More...

Inheritance diagram for LinksUpdate:
Collaboration diagram for LinksUpdate:

List of all members.

Public Member Functions

 __construct ($title, $parserOutput, $recursive=true)
 Constructor.
 doUpdate ()
 Update link tables with outgoing links from an updated article.
 getAddedLinks ()
 Fetch page links added by this LinksUpdate.
 getImages ()
 Return the list of images used as generated by the parser.
 getParserOutput ()
 Returns parser output.
 getPropertyDeletions ($existing)
 Get array of properties which should be deleted.
 getPropertyInsertions ($existing=array())
 Get an array of page property insertions.
 getRemovedLinks ()
 Fetch page links removed by this LinksUpdate.
 getTitle ()
 Return the title object of the page being updated.
 incrTableUpdate ($table, $prefix, $deletions, $insertions)
 Update a table by doing a delete query then an insert query.
 invalidateCategories ($cats)
 invalidateImageDescriptions ($images)
 queueRecursiveJobs ()
 Queue recursive jobs for this page.
 updateCategoryCounts ($added, $deleted)
 Update all the appropriate counts in the category table.

Static Public Member Functions

static queueRecursiveJobsForTable (Title $title, $table)
 Queue a RefreshLinks job for any table.

Public Attributes

 $mCategories
 Map of category names to sort keys.
 $mDb
 Database connection reference.
 $mExternals
 URLs of external links, array key only.
 $mId
 Page ID of the article linked from.
 $mImages
 DB keys of the images used, in the array key only.
 $mInterlangs
 Map of language codes to titles.
 $mLinks
 Map of title strings to IDs for the links in the document.
 $mOptions
 SELECT options to be used (array)
 $mParserOutput
 Parser output.
 $mProperties
 Map of arbitrary name to value.
 $mRecursive
 Whether to queue jobs for recursive updates.
 $mTemplates
 Map of title strings to IDs for the template references, including broken ones.
 $mTitle
 Title object of the article linked from.

Protected Member Functions

 doIncrementalUpdate ()
 getExistingInterwikis ()
 Get an array of existing inline interwiki links, as a 2-D array.

Private Member Functions

 getCategoryDeletions ($existing)
 Given an array of existing categories, returns those categories which are not in $this and thus should be deleted.
 getCategoryInsertions ($existing=array())
 Get an array of category insertions.
 getExistingCategories ()
 Get an array of existing categories, with the name in the key and sort key in the value.
 getExistingExternals ()
 Get an array of existing external links, URLs in the keys.
 getExistingImages ()
 Get an array of existing images, image names in the keys.
 getExistingInterlangs ()
 Get an array of existing interlanguage links, with the language code in the key and the title in the value.
 getExistingLinks ()
 Get an array of existing links, as a 2-D array.
 getExistingProperties ()
 Get an array of existing categories, with the name in the key and sort key in the value.
 getExistingTemplates ()
 Get an array of existing templates, as a 2-D array.
 getExternalDeletions ($existing)
 Given an array of existing external links, returns those links which are not in $this and thus should be deleted.
 getExternalInsertions ($existing=array())
 Get an array of externallinks insertions.
 getImageDeletions ($existing)
 Given an array of existing images, returns those images which are not in $this and thus should be deleted.
 getImageInsertions ($existing=array())
 Get an array of image insertions Skips the names specified in $existing.
 getInterlangDeletions ($existing)
 Given an array of existing interlanguage links, returns those links which are not in $this and thus should be deleted.
 getInterlangInsertions ($existing=array())
 Get an array of interlanguage link insertions.
 getInterwikiDeletions ($existing)
 Given an array of existing interwiki links, returns those links which are not in $this and thus should be deleted.
 getInterwikiInsertions ($existing=array())
 Get an array of interwiki insertions for passing to the DB Skips the titles specified by the 2-D array $existing.
 getLinkDeletions ($existing)
 Given an array of existing links, returns those links which are not in $this and thus should be deleted.
 getLinkInsertions ($existing=array())
 Get an array of pagelinks insertions for passing to the DB Skips the titles specified by the 2-D array $existing.
 getTemplateDeletions ($existing)
 Given an array of existing templates, returns those templates which are not in $this and thus should be deleted.
 getTemplateInsertions ($existing=array())
 Get an array of template insertions.
 invalidateProperties ($changed)
 Invalidate any necessary link lists related to page property changes.

Private Attributes

null array $linkDeletions = null
 Deleted links if calculated.
null array $linkInsertions = null
 Added links if calculated.

Detailed Description

See docs/deferred.txt.

Todo:
document (e.g. one-sentence top-level class description).

Definition at line 28 of file LinksUpdate.php.


Constructor & Destructor Documentation

LinksUpdate::__construct ( title,
parserOutput,
recursive = true 
)

Constructor.

Parameters:
$titleTitle of the page we're updating
$parserOutputParserOutput: output from a full parse of this page
$recursiveBoolean: queue jobs for recursive updates?
Exceptions:
MWException

Definition at line 62 of file LinksUpdate.php.


Member Function Documentation

Definition at line 128 of file LinksUpdate.php.

Update link tables with outgoing links from an updated article.

Implements DeferrableUpdate.

Definition at line 122 of file LinksUpdate.php.

Fetch page links added by this LinksUpdate.

Only available after the update is complete.

Since:
1.22
Returns:
null|array of Titles

Definition at line 779 of file LinksUpdate.php.

LinksUpdate::getCategoryDeletions ( existing) [private]

Given an array of existing categories, returns those categories which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 558 of file LinksUpdate.php.

LinksUpdate::getCategoryInsertions ( existing = array()) [private]

Get an array of category insertions.

Parameters:
array$existingmapping existing category names to sort keys. If both match a link in $this, the link will be omitted from the output
Returns:
array

Definition at line 401 of file LinksUpdate.php.

Get an array of existing categories, with the name in the key and sort key in the value.

Returns:
array

Definition at line 670 of file LinksUpdate.php.

Get an array of existing external links, URLs in the keys.

Returns:
array

Definition at line 655 of file LinksUpdate.php.

Get an array of existing images, image names in the keys.

Returns:
array

Definition at line 640 of file LinksUpdate.php.

Get an array of existing interlanguage links, with the language code in the key and the title in the value.

Returns:
array

Definition at line 686 of file LinksUpdate.php.

Get an array of existing inline interwiki links, as a 2-D array.

Returns:
array (prefix => array(dbkey => 1))

Definition at line 700 of file LinksUpdate.php.

Get an array of existing links, as a 2-D array.

Returns:
array

Definition at line 604 of file LinksUpdate.php.

Get an array of existing categories, with the name in the key and sort key in the value.

Returns:
array

Definition at line 718 of file LinksUpdate.php.

Get an array of existing templates, as a 2-D array.

Returns:
array

Definition at line 622 of file LinksUpdate.php.

LinksUpdate::getExternalDeletions ( existing) [private]

Given an array of existing external links, returns those links which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 548 of file LinksUpdate.php.

LinksUpdate::getExternalInsertions ( existing = array()) [private]

Get an array of externallinks insertions.

Skips the names specified in $existing

Parameters:
$existingarray
Returns:
array

Definition at line 377 of file LinksUpdate.php.

LinksUpdate::getImageDeletions ( existing) [private]

Given an array of existing images, returns those images which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 538 of file LinksUpdate.php.

LinksUpdate::getImageInsertions ( existing = array()) [private]

Get an array of image insertions Skips the names specified in $existing.

Parameters:
$existingarray
Returns:
array

Definition at line 360 of file LinksUpdate.php.

Return the list of images used as generated by the parser.

Returns:
array

Definition at line 749 of file LinksUpdate.php.

LinksUpdate::getInterlangDeletions ( existing) [private]

Given an array of existing interlanguage links, returns those links which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 568 of file LinksUpdate.php.

LinksUpdate::getInterlangInsertions ( existing = array()) [private]

Get an array of interlanguage link insertions.

Parameters:
array$existingmapping existing language codes to titles
Returns:
array

Definition at line 444 of file LinksUpdate.php.

LinksUpdate::getInterwikiDeletions ( existing) [private]

Given an array of existing interwiki links, returns those links which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 587 of file LinksUpdate.php.

LinksUpdate::getInterwikiInsertions ( existing = array()) [private]

Get an array of interwiki insertions for passing to the DB Skips the titles specified by the 2-D array $existing.

Parameters:
$existingarray
Returns:
array

Definition at line 481 of file LinksUpdate.php.

LinksUpdate::getLinkDeletions ( existing) [private]

Given an array of existing links, returns those links which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 502 of file LinksUpdate.php.

LinksUpdate::getLinkInsertions ( existing = array()) [private]

Get an array of pagelinks insertions for passing to the DB Skips the titles specified by the 2-D array $existing.

Parameters:
$existingarray
Returns:
array

Definition at line 317 of file LinksUpdate.php.

Returns parser output.

Since:
1.19
Returns:
ParserOutput

Definition at line 741 of file LinksUpdate.php.

Get array of properties which should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 577 of file LinksUpdate.php.

Get an array of page property insertions.

Parameters:
$existingarray
Returns:
array

Definition at line 462 of file LinksUpdate.php.

Fetch page links removed by this LinksUpdate.

Only available after the update is complete.

Since:
1.22
Returns:
null|array of Titles

Definition at line 795 of file LinksUpdate.php.

LinksUpdate::getTemplateDeletions ( existing) [private]

Given an array of existing templates, returns those templates which are not in $this and thus should be deleted.

Parameters:
$existingarray
Returns:
array

Definition at line 520 of file LinksUpdate.php.

LinksUpdate::getTemplateInsertions ( existing = array()) [private]

Get an array of template insertions.

Like getLinkInsertions()

Parameters:
$existingarray
Returns:
array

Definition at line 339 of file LinksUpdate.php.

Return the title object of the page being updated.

Returns:
Title

Definition at line 732 of file LinksUpdate.php.

LinksUpdate::incrTableUpdate ( table,
prefix,
deletions,
insertions 
)

Update a table by doing a delete query then an insert query.

Parameters:
$table
$prefix
$deletions
$insertions

Definition at line 269 of file LinksUpdate.php.

Parameters:
$cats

Definition at line 239 of file LinksUpdate.php.

Parameters:
$images

Definition at line 258 of file LinksUpdate.php.

LinksUpdate::invalidateProperties ( changed) [private]

Invalidate any necessary link lists related to page property changes.

Parameters:
$changed

Definition at line 757 of file LinksUpdate.php.

Queue recursive jobs for this page.

Which means do LinksUpdate on all templates that include the current page, using the job queue.

Definition at line 209 of file LinksUpdate.php.

static LinksUpdate::queueRecursiveJobsForTable ( Title title,
table 
) [static]

Queue a RefreshLinks job for any table.

Parameters:
Title$titleTitle to do job for
String$tableTable to use (e.g. 'templatelinks')

Definition at line 219 of file LinksUpdate.php.

LinksUpdate::updateCategoryCounts ( added,
deleted 
)

Update all the appropriate counts in the category table.

Parameters:
array$addedassociative array of category name => sort key
array$deletedassociative array of category name => sort key

Definition at line 248 of file LinksUpdate.php.


Member Data Documentation

null array LinksUpdate::$linkDeletions = null [private]

Deleted links if calculated.

Definition at line 52 of file LinksUpdate.php.

null array LinksUpdate::$linkInsertions = null [private]

Added links if calculated.

Definition at line 48 of file LinksUpdate.php.

LinksUpdate::$mCategories

Map of category names to sort keys.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mDb

Database connection reference.

Reimplemented from SqlDataUpdate.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mExternals

URLs of external links, array key only.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mId

Page ID of the article linked from.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mImages

DB keys of the images used, in the array key only.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mInterlangs

Map of language codes to titles.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mLinks

Map of title strings to IDs for the links in the document.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mOptions

SELECT options to be used (array)

Reimplemented from SqlDataUpdate.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mParserOutput

Parser output.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mProperties

Map of arbitrary name to value.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mRecursive

Whether to queue jobs for recursive updates.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mTemplates

Map of title strings to IDs for the template references, including broken ones.

Definition at line 32 of file LinksUpdate.php.

LinksUpdate::$mTitle

Title object of the article linked from.

Definition at line 32 of file LinksUpdate.php.


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