Go to the documentation of this file.
36 parent::__construct( $name );
52 return $this->
msg(
'doubleredirectstext' )->parseAsBlock();
56 $limitToTitle = !( $namespace ===
null &&
$title === null );
66 'namespace' =>
'pa.page_namespace',
67 'title' =>
'pa.page_title',
69 'b_namespace' =>
'pb.page_namespace',
70 'b_title' =>
'pb.page_title',
74 'c_namespace' =>
'rb.rd_namespace',
75 'c_title' =>
'rb.rd_title',
76 'c_fragment' =>
'rb.rd_fragment',
77 'c_interwiki' =>
'rb.rd_interwiki',
80 'ra.rd_from = pa.page_id',
89 'ra.rd_interwiki IS NULL OR ra.rd_interwiki = ' .
$dbr->addQuotes(
'' ),
91 'pb.page_namespace = ra.rd_namespace',
92 'pb.page_title = ra.rd_title',
94 'rb.rd_from = pb.page_id',
98 if ( $limitToTitle ) {
99 $retval[
'conds'][
'pa.page_namespace'] = $namespace;
100 $retval[
'conds'][
'pa.page_title'] =
$title;
111 return [
'ra.rd_namespace',
'ra.rd_title' ];
127 if ( isset( $result->b_namespace ) ) {
143 $deep =
$dbr->fetchObject(
$res ) ?:
false;
152 return '<del>' .
$linkRenderer->makeLink( $titleA,
null, [], [
'redirect' =>
'no' ] ) .
'</del>';
158 MediaWikiServices::getInstance()
160 ->userHasRight( $this->
getUser(),
'edit' ) &&
166 $this->
msg(
'parentheses', $this->
msg(
'editlink' )->text() )->text(),
168 [
'action' =>
'edit' ]
178 [
'redirect' =>
'no' ]
186 [
'redirect' =>
'no' ]
195 $linkC =
$linkRenderer->makeKnownLink( $titleC, $titleC->getFullText() );
198 $arr =
$lang->getArrow() .
$lang->getDirMark();
200 return (
"{$linkA} {$edit} {$arr} {$linkB} {$arr} {$linkC}" );
205 parent::execute( $par );
215 if ( !
$res->numRows() ) {
220 foreach (
$res as $row ) {
221 $batch->
add( $row->namespace, $row->title );
222 if ( isset( $row->b_namespace ) ) {
224 $batch->add( $row->b_namespace, $row->b_title );
226 if ( isset( $row->c_interwiki ) && !$row->c_interwiki ) {
228 $batch->add( $row->c_namespace, $row->c_title );
238 return 'maintenance';
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
getQueryInfo()
Subclasses return an SQL query here, formatted as an array with the following keys: tables => Table(s...
isSyndicated()
Sometime we don't want to build rss / atom feeds.
Class representing a list of titles The execute() method checks them all for existence and adds them ...
if(!isset( $args[0])) $lang
static getForTitle(Title $title)
Returns the appropriate ContentHandler singleton for the given title.
getLanguage()
Shortcut to get user's language.
This is a class for doing query pages; since they're almost all the same, we factor out some of the f...
preprocessResults( $db, $res)
Cache page content model and gender distinction for performance.
reallyGetQueryInfo( $namespace=null, $title=null)
addHelpLink( $to, $overrideBaseUrl=false)
Adds help link with an icon via page indicators.
__construct( $name='DoubleRedirects')
A special page listing redirects to redirecting page.
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
formatResult( $skin, $result)
getUser()
Shortcut to get the User executing this instance.
static makeTitle( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
getOrderFields()
Subclasses return an array of fields to order by here.
isExpensive()
Is this query expensive (for some definition of expensive)? Then we don't let it run in miser mode.
sortDescending()
Override to sort by increasing values.
getPageHeader()
The content returned by this function will be output before any result.
execute( $par)
This is the actual workhorse.
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
MediaWiki Linker LinkRenderer null $linkRenderer