<?php
/**
+ * @file
* @todo document
- * @addtogroup Maintenance
+ * @ingroup Maintenance
+ * @defgroup Maintenance Maintenance
*/
$wgRequestTime = microtime(true);
}
$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();
$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
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
}
#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;
} 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" .
}
$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" ); */
$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