tableName calls moved inside fieldInfoMulti and removed call that existed only for...
[lhc/web/wiklou.git] / maintenance / deleteOldRevisions.php
index 7084751..1f4dc4c 100644 (file)
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( "Maintenance.php" );
+require_once( dirname(__FILE__) . '/Maintenance.php' );
 
 class DeleteOldRevisions extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->mDescription = "Delete old (non-current) revisions from the database";
                $this->addOption( 'delete', 'Actually perform the deletion' );
+               $this->addOption( 'page_id', 'List of page ids to work on', false );
        }
        
        public function execute() {
                $this->output( "Delete old revisions\n\n" );
-               if( count( $this->mArgs ) < 1 ) {
-                       $this->error( "Must pass at least 1 page_id", true );
-               }
                $this->doDelete( $this->hasOption( 'delete' ), $this->mArgs );
        }
        
@@ -62,16 +60,17 @@ class DeleteOldRevisions extends Maintenance {
                # Get "active" revisions from the page table
                $this->output( "Searching for active revisions..." );
                $res = $dbw->query( "SELECT page_latest FROM $tbl_pag{$pageIdClause}" );
-               while( $row = $dbw->fetchObject( $res ) ) {
+               foreach( $res as $row ) {
                        $cur[] = $row->page_latest;
                }
                $this->output( "done.\n" );
        
                # Get all revisions that aren't in this set
+               $old = array();
                $this->output( "Searching for inactive revisions..." );
                $set = implode( ', ', $cur );
                $res = $dbw->query( "SELECT rev_id FROM $tbl_rev WHERE rev_id NOT IN ( $set ){$revPageClause}" );
-               while( $row = $dbw->fetchObject( $res ) ) {
+               foreach( $res as $row ) {
                        $old[] = $row->rev_id;
                }
                $this->output( "done.\n" );