jobqueue changes
[lhc/web/wiklou.git] / maintenance / commandLine.inc
index 6b86384..a23bb6e 100644 (file)
@@ -1,7 +1,9 @@
 <?php
 /**
+ * @file
  * @todo document
- * @addtogroup Maintenance
+ * @ingroup Maintenance
+ * @defgroup Maintenance Maintenance
  */
 
 $wgRequestTime = microtime(true);
@@ -35,6 +37,7 @@ 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
@@ -113,6 +116,7 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        $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 +124,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
@@ -176,6 +184,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,6 +200,7 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        }
        $wgCommandLineMode = true;
        $DP = $IP;
+       require_once( "$IP/includes/AutoLoader.php" );
        #require_once( $IP.'/includes/ProfilerStub.php' );
        require_once( $IP.'/includes/Defines.php' );
        require_once( $settingsFile );