X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2Fremove-brokenlinks.php;h=d61ff852298545c67229f0ef2f296d1303402b1c;hb=22b1c2a2f8fb108bb902ac1b958e27b7bb610ba9;hp=17886c7a129cdbcb3137bc95cd97fb5aa9783ec5;hpb=62b8d7794d4efa5a8258a39a3330d08c733a311a;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/remove-brokenlinks.php b/maintenance/remove-brokenlinks.php index 17886c7a12..d61ff85229 100644 --- a/maintenance/remove-brokenlinks.php +++ b/maintenance/remove-brokenlinks.php @@ -1,39 +1,25 @@ -tableNames( 'brokenlinks', 'cur', 'linkscc' ); + +$res = $dbw->select( 'cur', array( 'cur_namespace', 'cur_title', 'cur_id' ), false ); + +while( $s = $dbw->fetchObject( $res ) ) { $n++; if(($n % 500) == 0) { echo "$n\n"; @@ -41,21 +27,22 @@ while( $s = wfFetchObject( $res ) ) { $title = Title::makeTitle( $s->cur_namespace, $s->cur_title ); if($title) { $t = $title->getPrefixedDBKey(); - $tt = wfStrencode( $t ); + $tt = $dbw->strencode( $t ); $any = false; - $sql2 = "SELECT bl_from,cur_id,cur_namespace,cur_title FROM brokenlinks,cur WHERE bl_to='$tt' AND cur_id=bl_from"; - $res2 = wfQuery( $sql2, DB_WRITE ); - while( $s = wfFetchObject( $res2 ) ) { + $sql2 = "SELECT bl_from,cur_id,cur_namespace,cur_title FROM $brokenlinks,$cur " . + "WHERE bl_to='$tt' AND cur_id=bl_from"; + $res2 = $dbw->query( $sql2 ); + while( $s = $dbw->fetchObject( $res2 ) ) { $from = Title::makeTitle( $s->cur_namespace, $s->cur_title ); $xt = $from->getPrefixedText(); echo "Found bad brokenlink to [[$t]] from page #$s->cur_id [[$xt]]!\n"; $any = true; } - wfFreeResult( $res2 ); + $dbw->freeResult( $res2 ); if($any) { echo "Removing brokenlinks to [[$t]]...\n"; - $sql3 = "DELETE FROM brokenlinks WHERE bl_to='$tt'"; - $res3 = wfQuery( $sql3, DB_WRITE ); + $sql3 = "DELETE FROM $brokenlinks WHERE bl_to='$tt'"; + $res3 = $dbw->query( $sql3 ); #echo "-- $sql3\n"; } } else { @@ -65,7 +52,7 @@ while( $s = wfFetchObject( $res ) ) { echo "Done at $n.\n\n"; echo "Clearing linkscc table...\n"; -$sql4 = "DELETE FROM linkscc"; -wfQuery( $sql4, DB_WRITE ); +$sql4 = "DELETE FROM $linkscc"; +wfQuery( $sql4, DB_MASTER ); ?>