]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blobdiff - maintenance/rebuildFileCache.php
MediaWiki 1.17.0
[autoinstalls/mediawiki.git] / maintenance / rebuildFileCache.php
index 2a4e488471eaa66799bc49741fb0ea094fbd5d7b..a1aecd80adad0e3932eb5bbf5cbf0bf614750abf 100644 (file)
@@ -20,7 +20,7 @@
  * @ingroup Maintenance
  */
 
-require_once( dirname(__FILE__) . '/Maintenance.php' );
+require_once( dirname( __FILE__ ) . '/Maintenance.php' );
 
 class RebuildFileCache extends Maintenance {
        public function __construct() {
@@ -32,24 +32,24 @@ class RebuildFileCache extends Maintenance {
        }
 
        public function execute() {
-               global $wgUseFileCache, $wgDisableCounters, $wgContentNamespaces;
+               global $wgUseFileCache, $wgDisableCounters, $wgContentNamespaces, $wgRequestTime;
                global $wgTitle, $wgArticle, $wgOut, $wgUser;
-               if( !$wgUseFileCache ) {
+               if ( !$wgUseFileCache ) {
                        $this->error( "Nothing to do -- \$wgUseFileCache is disabled.", true );
                }
                $wgDisableCounters = false;
                $start = $this->getArg( 0, "0" );
-               if( !ctype_digit($start) ) {
+               if ( !ctype_digit( $start ) ) {
                        $this->error( "Invalid value for start parameter.", true );
                }
-               $start = intval($start);
-               $overwrite = $this->hasArg(1) && $this->getArg(1) === 'overwrite';
+               $start = intval( $start );
+               $overwrite = $this->hasArg( 1 ) && $this->getArg( 1 ) === 'overwrite';
                $this->output( "Building content page file cache from page {$start}!\n" );
 
                $dbr = wfGetDB( DB_SLAVE );
                $start = $start > 0 ? $start : $dbr->selectField( 'page', 'MIN(page_id)', false, __FUNCTION__ );
                $end = $dbr->selectField( 'page', 'MAX(page_id)', false, __FUNCTION__ );
-               if( !$start ) {
+               if ( !$start ) {
                        $this->error( "Nothing to do.", true );
                }
 
@@ -60,20 +60,21 @@ class RebuildFileCache extends Maintenance {
                $end += $this->mBatchSize - 1;
                $blockStart = $start;
                $blockEnd = $start + $this->mBatchSize - 1;
-       
+
                $dbw = wfGetDB( DB_MASTER );
                // Go through each page and save the output
-               while( $blockEnd <= $end ) {
+               while ( $blockEnd <= $end ) {
                        // Get the pages
-                       $res = $dbr->select( 'page', array('page_namespace','page_title','page_id'),
-                               array('page_namespace' => $wgContentNamespaces,
+                       $res = $dbr->select( 'page', array( 'page_namespace', 'page_title', 'page_id' ),
+                               array( 'page_namespace' => $wgContentNamespaces,
                                        "page_id BETWEEN $blockStart AND $blockEnd" ),
-                               array('ORDER BY' => 'page_id ASC','USE INDEX' => 'PRIMARY')
+                               array( 'ORDER BY' => 'page_id ASC', 'USE INDEX' => 'PRIMARY' )
                        );
-                       foreach( $res as $row ) {
+                       foreach ( $res as $row ) {
                                $rebuilt = false;
+                               $wgRequestTime = wfTime(); # bug 22852
                                $wgTitle = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
-                               if( null == $wgTitle ) {
+                               if ( null == $wgTitle ) {
                                        $this->output( "Page {$row->page_id} has bad title\n" );
                                        continue; // broken title?
                                }
@@ -81,24 +82,24 @@ class RebuildFileCache extends Maintenance {
                                $wgUser->getSkin( $wgTitle ); // set skin title
                                $wgArticle = new Article( $wgTitle );
                                // If the article is cacheable, then load it
-                               if( $wgArticle->isFileCacheable() ) {
+                               if ( $wgArticle->isFileCacheable() ) {
                                        $cache = new HTMLFileCache( $wgTitle );
-                                       if( $cache->isFileCacheGood() ) {
-                                               if( $overwrite ) {
+                                       if ( $cache->isFileCacheGood() ) {
+                                               if ( $overwrite ) {
                                                        $rebuilt = true;
                                                } else {
                                                        $this->output( "Page {$row->page_id} already cached\n" );
                                                        continue; // done already!
                                                }
                                        }
-                                       ob_start( array(&$cache, 'saveToFileCache' ) ); // save on ob_end_clean()
+                                       ob_start( array( &$cache, 'saveToFileCache' ) ); // save on ob_end_clean()
                                        $wgUseFileCache = false; // hack, we don't want $wgArticle fiddling with filecache
                                        $wgArticle->view();
                                        @$wgOut->output(); // header notices
                                        $wgUseFileCache = true;
                                        ob_end_clean(); // clear buffer
                                        $wgOut = new OutputPage(); // empty out any output page garbage
-                                       if( $rebuilt )
+                                       if ( $rebuilt )
                                                $this->output( "Re-cached page {$row->page_id}\n" );
                                        else
                                                $this->output( "Cached page {$row->page_id}\n" );
@@ -112,14 +113,14 @@ class RebuildFileCache extends Maintenance {
                        wfWaitForSlaves( 5 );
                }
                $this->output( "Done!\n" );
-       
+
                // Remove these to be safe
-               if( isset($wgTitle) )
-                       unset($wgTitle);
-               if( isset($wgArticle) )
-                       unset($wgArticle);
+               if ( isset( $wgTitle ) )
+                       unset( $wgTitle );
+               if ( isset( $wgArticle ) )
+                       unset( $wgArticle );
        }
 }
 
 $maintClass = "RebuildFileCache";
-require_once( DO_MAINTENANCE );
+require_once( RUN_MAINTENANCE_IF_MAIN );