(bug 37638) Remove calls to deprecated LogPage::logName method.
[lhc/web/wiklou.git] / maintenance / rollbackEdits.php
index c7f6aa7..c9f607e 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @file
  * @ingroup Maintenance
  */
 
 require_once( dirname( __FILE__ ) . '/Maintenance.php' );
 
+/**
+ * Maintenance script to rollback all edits by a given user or IP provided
+ * they're the most recent edit.
+ *
+ * @ingroup Maintenance
+ */
 class RollbackEdits extends Maintenance {
        public function __construct() {
                parent::__construct();
@@ -62,10 +69,12 @@ class RollbackEdits extends Maintenance {
                        return;
                }
 
+               $doer = User::newFromName( 'Maintenance script' );
+
                foreach ( $titles as $t ) {
-                       $a = new Article( $t );
-                       $this->output( 'Processing ' . $t->getPrefixedText() . '...' );
-                       if ( !$a->commitRollback( $user, $summary, $bot, $results ) ) {
+                       $page = WikiPage::factory( $t );
+                       $this->output( 'Processing ' . $t->getPrefixedText() . '... ' );
+                       if ( !$page->commitRollback( $user, $summary, $bot, $results, $doer ) ) {
                                $this->output( "done\n" );
                        } else {
                                $this->output( "failed\n" );
@@ -76,6 +85,7 @@ class RollbackEdits extends Maintenance {
        /**
         * Get all pages that should be rolled back for a given user
         * @param $user String a name to check against rev_user_text
+        * @return array
         */
        private function getRollbackTitles( $user ) {
                $dbr = wfGetDB( DB_SLAVE );
@@ -86,7 +96,7 @@ class RollbackEdits extends Maintenance {
                        array( 'page_latest = rev_id', 'rev_user_text' => $user ),
                        __METHOD__
                );
-               while ( $row = $dbr->fetchObject( $results ) ) {
+               foreach ( $results as $row ) {
                        $titles[] = Title::makeTitle( $row->page_namespace, $row->page_title );
                }
                return $titles;
@@ -94,4 +104,4 @@ class RollbackEdits extends Maintenance {
 }
 
 $maintClass = 'RollbackEdits';
-require_once( DO_MAINTENANCE );
+require_once( RUN_MAINTENANCE_IF_MAIN );