49 foreach ( $arr as $item ) {
71 public function addObj( $linkTarget ) {
72 if ( is_object( $linkTarget ) ) {
73 $this->
add( $linkTarget->getNamespace(), $linkTarget->getDBkey() );
75 wfDebug(
"Warning: LinkBatch::addObj got invalid LinkTarget object\n" );
83 public function add( $ns, $dbkey ) {
84 if ( $ns < 0 || $dbkey ===
'' ) {
87 if ( !array_key_exists( $ns, $this->data ) ) {
88 $this->data[$ns] = [];
91 $this->data[$ns][strtr( $dbkey,
' ',
'_' )] = 1;
101 $this->data = $array;
119 return count( $this->data );
128 $linkCache = MediaWikiServices::getInstance()->getLinkCache();
163 $titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
168 foreach (
$res as $row ) {
171 $pdbk = $titleFormatter->getPrefixedDBkey(
$title );
172 $ids[$pdbk] = $row->page_id;
173 unset( $remaining[$row->page_namespace][$row->page_title] );
177 foreach ( $remaining as $ns => $dbkeys ) {
178 foreach ( $dbkeys as $dbkey => $unused ) {
181 $pdbk = $titleFormatter->getPrefixedDBkey(
$title );
201 $fields = array_merge(
202 LinkCache::getSelectFields(),
203 [
'page_namespace',
'page_title' ]
210 if ( strval( $this->caller ) !==
'' ) {
211 $caller .=
" (for {$this->caller})";
227 $services = MediaWikiServices::getInstance();
229 if ( !$services->getContentLanguage()->needsGenderDistinction() ) {
233 $genderCache = $services->getGenderCache();
234 $genderCache->doLinkBatch( $this->data, $this->caller );
247 return $db->makeWhereFrom2d( $this->data,
"{$prefix}_namespace",
"{$prefix}_title" );
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
Class representing a list of titles The execute() method checks them all for existence and adds them ...
doGenderQuery()
Do (and cache) {{GENDER:...}} information for userpages in this LinkBatch.
$data
2-d array, first index namespace, second index dbkey, value arbitrary
getSize()
Returns the size of the batch.
addResultToCache( $cache, $res)
Add a result wrapper containing IDs and titles to a LinkCache object.
$caller
For debugging which method is using this class.
isEmpty()
Returns true if no pages have been added, false otherwise.
setCaller( $caller)
Use ->setCaller( METHOD ) to indicate which code is using this class.
constructSet( $prefix, $db)
Construct a WHERE clause which will match all the given titles.
execute()
Do the query and add the results to the LinkCache object.
setArray( $array)
Set the link list to a given 2-d array First key is the namespace, second is the DB key,...
executeInto(&$cache)
Do the query and add the results to a given LinkCache object Return an array mapping PDBK to ID.
doQuery()
Perform the existence test query, return a result wrapper with page_id fields.
Represents a page (or page fragment) title within MediaWiki.