Localisation updates for core messages from translatewiki.net (2009-09-03 16:52 UTC)
[lhc/web/wiklou.git] / maintenance / commandLine.inc
index 6b86384..15a37c8 100644 (file)
@@ -1,7 +1,9 @@
 <?php
 /**
+ * @file
  * @todo document
- * @addtogroup Maintenance
+ * @ingroup Maintenance
+ * @defgroup Maintenance Maintenance
  */
 
 $wgRequestTime = microtime(true);
@@ -35,13 +37,18 @@ if ( !isset( $optionsWithArgs ) ) {
 }
 $optionsWithArgs[] = 'conf'; # For specifying the location of LocalSettings.php
 $optionsWithArgs[] = 'aconf'; # As above for AdminSettings.php
+$optionsWithArgs[] = 'wiki'; # For specifying the wiki ID
 
 $self = array_shift( $argv );
-$IP = ( getenv('MW_INSTALL_PATH') !== false
+$IP = strval( getenv('MW_INSTALL_PATH') ) !== ''
        ? getenv('MW_INSTALL_PATH')
-       : realpath( dirname( __FILE__ ) . '/..' ) );
+       : realpath( dirname( __FILE__ ) . '/..' );
 #chdir( $IP );
-require_once( "$IP/StartProfiler.php" );
+if ( file_exists( "$IP/StartProfiler.php" ) ) {
+       require_once( "$IP/StartProfiler.php" );
+} else {
+       require_once( "$IP/includes/ProfilerStub.php" );
+}
 
 $options = array();
 $args = array();
@@ -109,10 +116,10 @@ if (!isset( $wgUseNormalUser ) ) {
        $wgUseNormalUser = false;
 }
 
-if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
+if ( file_exists( dirname(__FILE__).'/wikimedia-mode' ) ) {
        $wgWikiFarm = true;
-       #$cluster = trim( file_get_contents( '/etc/cluster' ) );
        $cluster = 'pmtpa';
+       require_once( "$IP/includes/AutoLoader.php" );
        require_once( "$IP/includes/SiteConfiguration.php" );
 
        # Get $wgConf
@@ -120,7 +127,11 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
 
        if ( empty( $wgNoDBParam ) ) {
                # Check if we were passed a db name
-               $db = array_shift( $args );
+               if ( isset( $options['wiki'] ) ) {
+                       $db = $options['wiki'];
+               } else {
+                       $db = array_shift( $args );
+               }
                list( $site, $lang ) = $wgConf->siteFromDB( $db );
 
                # If not, work out the language and site the old way
@@ -158,16 +169,10 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        }
        
        #require_once( $IP.'/includes/ProfilerStub.php' );
-       require_once( $IP.'/includes/Defines.php' );
-       require_once( $IP.'/CommonSettings.php' );
-
-       $bin = '/home/wikipedia/bin';
-       if ( $wgUseRootUser ) {
-               $wgDBuser = $wgDBadminuser = 'root';
-               $wgDBpassword = $wgDBadminpassword = trim(`$bin/mysql_root_pass`);
-       } elseif ( !$wgUseNormalUser ) {
-               $wgDBuser = $wgDBadminuser = 'wikiadmin';
-               $wgDBpassword = $wgDBadminpassword = trim(`$bin/wikiadmin_pass`);
+       require( $IP.'/includes/Defines.php' );
+       require( $IP.'/CommonSettings.php' );
+       if ( !$wgUseNormalUser && is_readable( "$IP/AdminSettings.php" ) ) {
+               require( "$IP/AdminSettings.php" );
        }
 } else {
        $wgWikiFarm = false;
@@ -176,6 +181,14 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        } else {
                $settingsFile = "$IP/LocalSettings.php";
        }
+       if ( isset( $options['wiki'] ) ) {
+               $bits = explode( '-', $options['wiki'] );
+               if ( count( $bits ) == 1 ) {
+                       $bits[] = '';
+               }
+               define( 'MW_DB', $bits[0] );
+               define( 'MW_PREFIX', $bits[1] );
+       }
 
        if ( ! is_readable( $settingsFile ) ) {
                print "A copy of your installation's LocalSettings.php\n" .
@@ -184,8 +197,8 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        }
        $wgCommandLineMode = true;
        $DP = $IP;
-       #require_once( $IP.'/includes/ProfilerStub.php' );
-       require_once( $IP.'/includes/Defines.php' );
+       require_once( "$IP/includes/AutoLoader.php" );
+       require_once( "$IP/includes/Defines.php" );
        require_once( $settingsFile );
        /* ini_set( 'include_path', ".$sep$IP$sep$IP/includes$sep$IP/languages$sep$IP/maintenance" ); */
 
@@ -244,6 +257,8 @@ if( version_compare( phpversion(), '5.2.4' ) >= 0 ) {
 $wgShowSQLErrors = true;
 
 require_once( "$IP/includes/Setup.php" );
-require_once( "$IP/install-utils.inc" );
+require_once( "$IP/maintenance/install-utils.inc" );
 $wgTitle = null; # Much much faster startup than creating a title object
 @set_time_limit(0);
+
+$wgProfiling = false; // only for Profiler.php mode; avoids OOM errors