From 7b0cedd444d6dc53cd3f427b136291f8c9ce8d7b Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Mon, 16 Jan 2012 21:54:24 +0000 Subject: [PATCH] * Use WikiPage instead of Article to call updateRevisionOn() * Also lock 'user' table, needed in Revision::newFromId() --- maintenance/orphans.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/maintenance/orphans.php b/maintenance/orphans.php index 1986ff350e..faaadd3776 100644 --- a/maintenance/orphans.php +++ b/maintenance/orphans.php @@ -53,10 +53,11 @@ class Orphans extends Maintenance { * @param $db DatabaseBase object * @param $extraTable String The name of any extra tables to lock (eg: text) */ - private function lockTables( &$db, $extraTable = null ) { + private function lockTables( $db, $extraTable = array() ) { $tbls = array( 'page', 'revision', 'redirect' ); - if ( $extraTable ) - $tbls[] = $extraTable; + if ( $extraTable ) { + $tbls = array_merge( $tbls, $extraTable ); + } $db->lockTables( array(), $tbls, __METHOD__, false ); } @@ -167,7 +168,7 @@ class Orphans extends Maintenance { $revision = $dbw->tableName( 'revision' ); if ( $fix ) { - $dbw->lockTables( $dbw, 'text', __METHOD__ ); + $this->lockTables( $dbw, array( 'user', 'text' ) ); } $this->output( "\nChecking for pages whose page_latest links are incorrect... (this may take a while on a large wiki)\n" ); @@ -206,7 +207,7 @@ class Orphans extends Maintenance { $this->output( "... updating to revision $maxId\n" ); $maxRev = Revision::newFromId( $maxId ); $title = Title::makeTitle( $row->page_namespace, $row->page_title ); - $article = new Article( $title ); + $article = WikiPage::factory( $title ); $article->updateRevisionOn( $dbw, $maxRev ); } } -- 2.20.1