Add support for HD versions of the wiki logo in MonoBook-like skins.
[lhc/web/wiklou.git] / maintenance / update.php
index 046d73c..182a2c4 100755 (executable)
@@ -26,7 +26,7 @@
  * @ingroup Maintenance
  */
 
-if ( !function_exists( 'version_compare' ) || ( version_compare( PHP_VERSION, '5.3.2' ) < 0 ) ) {
+if ( !function_exists( 'version_compare' ) || ( version_compare( PHP_VERSION, '5.3.3' ) < 0 ) ) {
        require dirname( __FILE__ ) . '/../includes/PHPVersionError.php';
        wfPHPVersionError( 'cli' );
 }
@@ -56,6 +56,10 @@ class UpdateMediaWiki extends Maintenance {
                        true
                );
                $this->addOption( 'force', 'Override when $wgAllowSchemaUpdates disables this script' );
+               $this->addOption(
+                       'skip-external-dependencies',
+                       'Skips checking whether external dependencies are up to date, mostly for developers'
+               );
        }
 
        function getDbType() {
@@ -131,6 +135,16 @@ class UpdateMediaWiki extends Maintenance {
                        wfCountdown( 5 );
                }
 
+               // Check external dependencies are up to date
+               if ( !$this->hasOption( 'skip-external-dependencies' ) ) {
+                       $composerLockUpToDate = $this->runChild( 'CheckComposerLockUpToDate' );
+                       $composerLockUpToDate->execute();
+               } else {
+                       $this->output(
+                               "Skipping checking whether external dependencies are up to date, proceed at your own risk\n"
+                       );
+               }
+
                # Attempt to connect to the database as a privileged user
                # This will vomit up an error if there are permissions problems
                $db = wfGetDB( DB_MASTER );
@@ -178,11 +192,12 @@ class UpdateMediaWiki extends Maintenance {
                        }
                }
 
+               $updater->setFileAccess();
                if ( !$this->hasOption( 'nopurge' ) ) {
                        $updater->purgeCache();
                }
-               $time2 = new MWTimestamp();
 
+               $time2 = new MWTimestamp();
                $timeDiff = $time2->diff( $time1 );
                $this->output( "\nDone in " . $timeDiff->format( "%i:%S" ) . ".\n" );
        }