__METHOD__ );
return;
}
- $article = new Article( $title );
- $rt = $article->followRedirect();
+ $page = WikiPage::factory( $title );
+ $rt = $page->getRedirectTarget();
- if ( !$rt || !is_object( $rt ) ) {
+ if ( $rt === null ) {
// $title is not a redirect
// Delete any redirect table entry for it
$dbw->delete( 'redirect', array( 'rd_from' => $id ),
__METHOD__ );
- } else {
- $article->updateRedirectOn( $dbw, $rt );
}
}
if ( is_null( $title ) ) {
return;
}
- $dbw->begin();
$revision = Revision::newFromTitle( $title );
if ( !$revision ) {
return;
}
+ $dbw->begin( __METHOD__ );
+
$options = new ParserOptions;
$parserOutput = $wgParser->parse( $revision->getText(), $title, $options, true, true, $revision->getId() );
$update = new LinksUpdate( $title, $parserOutput, false );
$update->doUpdate();
- $dbw->commit();
+ $dbw->commit( __METHOD__ );
}
- /*
+ /**
* Removes non-existing links from pages from pagelinks, imagelinks,
- * categorylinks, templatelinks and externallinks tables.
+ * categorylinks, templatelinks, externallinks, interwikilinks, langlinks and redirect tables.
*
- * @param $maxLag
- * @param $batchSize The size of deletion batches
+ * @param $maxLag int
+ * @param $batchSize int The size of deletion batches
*
* @author Merlijn van Deen <valhallasw@arctus.nl>
*/
'templatelinks' => 'tl_from',
'externallinks' => 'el_from',
'iwlinks' => 'iwl_from',
+ 'langlinks' => 'll_from',
+ 'redirect' => 'rd_from',
+ 'page_props' => 'pp_page',
);
foreach ( $linksTables as $table => $field ) {
$counter = 0;
$list = array();
$this->output( "0.." );
-
foreach ( $results as $row ) {
$counter++;
$list[] = $row->$field;