Page MenuHomePhabricator

DoubleAndBrokenRedirectsFix.patch

Authored By
bzimport
Nov 21 2014, 9:27 PM
Size
3 KB
Referenced Files
None
Subscribers
None

DoubleAndBrokenRedirectsFix.patch

Index: includes/SpecialDoubleRedirects.php
===================================================================
--- includes/SpecialDoubleRedirects.php (revision 17406)
+++ includes/SpecialDoubleRedirects.php (working copy)
@@ -26,7 +26,7 @@
function getSQLText( &$dbr, $namespace = null, $title = null ) {
- extract( $dbr->tableNames( 'page', 'pagelinks' ) );
+ extract( $dbr->tableNames( 'page', 'redirect' ) );
$limitToTitle = !( $namespace === null && $title === null );
$sql = $limitToTitle ? "SELECT" : "SELECT 'DoubleRedirects' as type," ;
@@ -34,14 +34,14 @@
" pa.page_namespace as namespace, pa.page_title as title," .
" pb.page_namespace as nsb, pb.page_title as tb," .
" pc.page_namespace as nsc, pc.page_title as tc" .
- " FROM $pagelinks AS la, $pagelinks AS lb, $page AS pa, $page AS pb, $page AS pc" .
+ " FROM $redirect AS ra, $redirect AS rb, $page AS pa, $page AS pb, $page AS pc" .
" WHERE pa.page_is_redirect=1 AND pb.page_is_redirect=1" .
- " AND la.pl_from=pa.page_id" .
- " AND la.pl_namespace=pb.page_namespace" .
- " AND la.pl_title=pb.page_title" .
- " AND lb.pl_from=pb.page_id" .
- " AND lb.pl_namespace=pc.page_namespace" .
- " AND lb.pl_title=pc.page_title";
+ " AND ra.rd_from=pa.page_id" .
+ " AND ra.rd_namespace=pb.page_namespace" .
+ " AND ra.rd_title=pb.page_title" .
+ " AND rb.rd_from=pb.page_id" .
+ " AND rb.rd_namespace=pc.page_namespace" .
+ " AND rb.rd_title=pc.page_title";
if( $limitToTitle ) {
$encTitle = $dbr->addQuotes( $title );
Index: includes/SpecialBrokenRedirects.php
===================================================================
--- includes/SpecialBrokenRedirects.php (revision 17406)
+++ includes/SpecialBrokenRedirects.php (working copy)
@@ -27,16 +27,16 @@
function getSQL() {
$dbr =& wfGetDB( DB_SLAVE );
- extract( $dbr->tableNames( 'page', 'pagelinks' ) );
+ extract( $dbr->tableNames( 'page', 'redirect' ) );
$sql = "SELECT 'BrokenRedirects' AS type,
p1.page_namespace AS namespace,
p1.page_title AS title,
- pl_namespace,
- pl_title
- FROM $pagelinks AS pl
- JOIN $page p1 ON (p1.page_is_redirect=1 AND pl.pl_from=p1.page_id)
- LEFT JOIN $page AS p2 ON (pl_namespace=p2.page_namespace AND pl_title=p2.page_title )
+ rd_namespace,
+ rd_title
+ FROM $redirect AS rd
+ JOIN $page p1 ON (p1.page_is_redirect=1 AND rd.rd_from=p1.page_id)
+ LEFT JOIN $page AS p2 ON (rd_namespace=p2.page_namespace AND rd_title=p2.page_title )
WHERE p2.page_namespace IS NULL";
return $sql;
}
@@ -49,8 +49,8 @@
global $wgContLang;
$fromObj = Title::makeTitle( $result->namespace, $result->title );
- if ( isset( $result->pl_title ) ) {
- $toObj = Title::makeTitle( $result->pl_namespace, $result->pl_title );
+ if ( isset( $result->rd_title ) ) {
+ $toObj = Title::makeTitle( $result->rd_namespace, $result->rd_title );
} else {
$blinks = $fromObj->getBrokenLinksFrom();
if ( $blinks ) {

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2926
Default Alt Text
DoubleAndBrokenRedirectsFix.patch (3 KB)

Event Timeline