37 parent::__construct(
'Listredirects' );
59 'tables' => [
'page',
'redirect' ],
60 'fields' => [
'namespace' =>
'page_namespace',
61 'title' =>
'page_title',
67 'conds' => [
'page_is_redirect' => 1 ],
68 'join_conds' => [
'redirect' => [
69 'LEFT JOIN',
'rd_from=page_id' ],
76 return [
'page_namespace',
'page_title' ];
86 if ( !$res->numRows() ) {
90 $batch = $this->linkBatchFactory->newLinkBatch()->setCaller( __METHOD__ );
91 foreach ( $res as $row ) {
92 $batch->add( $row->namespace, $row->title );
95 $batch->addObj( $redirTarget );
105 if ( isset( $row->rd_title ) ) {
114 if ( !$title->canExist() ) {
118 return Title::castFromLinkTarget(
119 $this->redirectLookup->getRedirectTarget( $title )
130 $linkRenderer = $this->getLinkRenderer();
131 # Make a link to the redirect itself
133 $rd_link = $linkRenderer->makeLink(
137 [
'redirect' =>
'no' ]
140 # Find out where the redirect leads
141 $target = $this->getRedirectTarget( $result );
143 # Make a link to the destination page
144 $lang = $this->getLanguage();
145 $arr = $lang->getArrow();
146 $rd_link = Html::rawElement(
'bdi', [
'dir' => $lang->getDir() ], $rd_link );
147 $targetLink = $linkRenderer->makeLink( $target, $target->getFullText() );
148 $targetLink = Html::rawElement(
'bdi', [
'dir' => $lang->getDir() ], $targetLink );
150 return "$rd_link $arr $targetLink";
152 return "<del>$rd_link</del>";
158 $this->addHelpLink(
'Help:Redirects' );
159 parent::execute( $par );
169class_alias( SpecialListRedirects::class,
'SpecialListRedirects' );
if(!defined('MW_SETUP_CALLBACK'))
Factory for LinkBatch objects to batch query page metadata.
Service for creating WikiPage objects.
This is a class for doing query pages; since they're almost all the same, we factor out some of the f...
setDatabaseProvider(IConnectionProvider $databaseProvider)
Service for resolving a wiki page redirect.