Single messages can be passed as strings to Api::dieUsageMsg()
[lhc/web/wiklou.git] / maintenance / addwiki.php
index 65f1aa1..b0eddc6 100644 (file)
@@ -31,12 +31,16 @@ require_once( dirname( __FILE__ ) . '/Maintenance.php' );
 
 class AddWiki extends Maintenance {
        public function __construct() {
+               global $wgNoDBParam;
+
                parent::__construct();
                $this->mDescription = "Add a new wiki to the family. Wikimedia specific!";
                $this->addArg( 'language', 'Language code of new site, e.g. en' );
                $this->addArg( 'site', 'Type of site, e.g. wikipedia' );
                $this->addArg( 'dbname', 'Name of database to create, e.g. enwiki' );
                $this->addArg( 'domain', 'Domain name of the wiki, e.g. en.wikipedia.org' );
+
+               $wgNoDBParam = true;
        }
 
        public function getDbType() {
@@ -44,9 +48,8 @@ class AddWiki extends Maintenance {
        }
 
        public function execute() {
-               global $IP, $wgDefaultExternalStore, $wgNoDBParam;
+               global $IP, $wgDefaultExternalStore;
 
-               $wgNoDBParam = true;
                $lang = $this->getArg( 0 );
                $site = $this->getArg( 1 );
                $dbName = $this->getArg( 2 );
@@ -54,7 +57,7 @@ class AddWiki extends Maintenance {
                $languageNames = Language::getLanguageNames();
 
                if ( !isset( $languageNames[$lang] ) ) {
-                       $this->error( "Language $lang not found in \$wgLanguageNames", true );
+                       $this->error( "Language $lang not found in Names.php", true );
                }
                $name = $languageNames[$lang];
 
@@ -78,19 +81,18 @@ class AddWiki extends Maintenance {
                $dbw->sourceFile( "$IP/extensions/Oversight/hidden.sql" );
                $dbw->sourceFile( "$IP/extensions/GlobalBlocking/localdb_patches/setup-global_block_whitelist.sql" );
                $dbw->sourceFile( "$IP/extensions/AbuseFilter/abusefilter.tables.sql" );
-               $dbw->sourceFile( "$IP/extensions/UsabilityInitiative/PrefStats/PrefStats.sql" );
+               $dbw->sourceFile( "$IP/extensions/PrefStats/patches/PrefStats.sql" );
                $dbw->sourceFile( "$IP/extensions/ProofreadPage/ProofreadPage.sql" );
-               $dbw->sourceFile( "$IP/extensions/UsabilityInitiative/ClickTracking/ClickTrackingEvents.sql" );
-               $dbw->sourceFile( "$IP/extensions/UsabilityInitiative/ClickTracking/ClickTracking.sql" );
-               $dbw->sourceFile( "$IP/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql" );
-               $dbw->sourceFile( "$IP/extensions/UsabilityInitiative/OptIn/OptIn.sql" );
+               $dbw->sourceFile( "$IP/extensions/ClickTracking/patches/ClickTrackingEvents.sql" );
+               $dbw->sourceFile( "$IP/extensions/ClickTracking/patches/ClickTracking.sql" );
+               $dbw->sourceFile( "$IP/extensions/UserDailyContribs/patches/UserDailyContribs.sql" );
 
                $dbw->query( "INSERT INTO site_stats(ss_row_id) VALUES (1)" );
 
                # Initialise external storage
                if ( is_array( $wgDefaultExternalStore ) ) {
                        $stores = $wgDefaultExternalStore;
-               } elseif ( $stores ) {
+               } elseif ( $wgDefaultExternalStore ) {
                        $stores = array( $wgDefaultExternalStore );
                } else {
                        $stores = array();
@@ -126,13 +128,12 @@ class AddWiki extends Maintenance {
                        }
                }
 
-               global $wgTitle, $wgArticle;
-               $wgTitle = Title::newFromText( wfMsgWeirdKey( "mainpage/$lang" ) );
-               $this->output( "Writing main page to " . $wgTitle->getPrefixedDBkey() . "\n" );
-               $wgArticle = new Article( $wgTitle );
+               $title = Title::newFromText( wfMessage( 'mainpage' )->inLanguage( $lang )->useDatabase( false )->plain() );
+               $this->output( "Writing main page to " . $title->getPrefixedDBkey() . "\n" );
+               $article = new Article( $title );
                $ucsite = ucfirst( $site );
 
-               $wgArticle->insertNewArticle( $this->getFirstArticle( $ucsite, $name ), '', false, false );
+               $article->doEdit( $this->getFirstArticle( $ucsite, $name ), '', EDIT_NEW | EDIT_AUTOSUMMARY );
 
                $this->output( "Adding to dblists\n" );
 
@@ -465,4 +466,4 @@ EOT;
 }
 
 $maintClass = "AddWiki";
-require_once( DO_MAINTENANCE );
+require_once( RUN_MAINTENANCE_IF_MAIN );