Fix syntax error
[lhc/web/wiklou.git] / maintenance / addwiki.php
index 8dcd2ec..dfb9c9e 100644 (file)
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Add a new wiki
+ * Wikimedia specific!
+ *
+ * @file
+ * @ingroup Maintenance
+ */
 
 $wgNoDBParam = true;
 
@@ -6,7 +13,7 @@ require_once( "commandLine.inc" );
 require_once( "rebuildInterwiki.inc" );
 require_once( "languages/Names.php" );
 if ( count( $args ) != 3 ) {
-       wfDie( "Usage: php addwiki.php <language> <site> <dbname>\n" );
+       wfDie( "Usage: php addwiki.php <language> <site> <dbname>\nThe site for Wikipedia is 'wikipedia'.\n" );
 }
 
 addWiki( $args[0], $args[1], $args[2] );
@@ -17,13 +24,17 @@ function addWiki( $lang, $site, $dbName )
 {
        global $IP, $wgLanguageNames, $wgDefaultExternalStore;
 
+       if ( !isset( $wgLanguageNames[$lang] ) ) {
+               print "Language $lang not found in \$wgLanguageNames\n";
+               return;
+       }
        $name = $wgLanguageNames[$lang];
 
-       $dbw = wfGetDB( DB_WRITE );
+       $dbw = wfGetDB( DB_MASTER );
        $common = "/home/wikipedia/common";
        $maintenance = "$IP/maintenance";
 
-       print "Creating database $dbName for $lang.$site\n";
+       print "Creating database $dbName for $lang.$site ($name)\n";
        
        # Set up the database
        $dbw->query( "SET table_type=Innodb" );
@@ -35,6 +46,10 @@ function addWiki( $lang, $site, $dbName )
        dbsource( "$IP/extensions/OAI/update_table.sql", $dbw );
        dbsource( "$IP/extensions/AntiSpoof/mysql/patch-antispoof.sql", $dbw );
        dbsource( "$IP/extensions/CheckUser/cu_changes.sql", $dbw );
+       dbsource( "$IP/extensions/CheckUser/cu_log.sql", $dbw );
+       dbsource( "$IP/extensions/TitleKey/titlekey.sql", $dbw );
+       dbsource( "$IP/extensions/Oversight/hidden.sql", $dbw );
+
        $dbw->query( "INSERT INTO site_stats(ss_row_id) VALUES (1)" );
 
        # Initialise external storage
@@ -71,7 +86,9 @@ function addWiki( $lang, $site, $dbName )
                }
        }
 
-       $wgTitle = Title::newMainPage();
+       global $wgTitle, $wgArticle;
+       $wgTitle = Title::newFromText( wfMsgWeirdKey( "mainpage/$lang" ) );
+       print "Writing main page to " . $wgTitle->getPrefixedDBkey() . "\n";
        $wgArticle = new Article( $wgTitle );
        $ucsite = ucfirst( $site );
 
@@ -217,32 +234,16 @@ EOT
        fclose( $file );
 
        # Update the sublists
-       system("cd $common && ./refresh-dblist");
+       shell_exec("cd $common && ./refresh-dblist");
 
-       print "Constructing interwiki SQL\n";
+       #print "Constructing interwiki SQL\n";
        # Rebuild interwiki tables
-       $sql = getRebuildInterwikiSQL();
-       $tempname = tempnam( '/tmp', 'addwiki' );
-       $file = fopen( $tempname, 'w' );
-       if ( !$file ) {
-               wfDie( "Error, unable to open temporary file $tempname\n" );
-       }
-       fwrite( $file, $sql );
-       fclose( $file );
-       print "Sourcing interwiki SQL\n";
-       dbsource( $tempname, $dbw );
-       #unlink( $tempname );
-       
-       # Create the upload dir
-       global $wgUploadDirectory;
-       if( file_exists( $wgUploadDirectory ) ) {
-               echo "$wgUploadDirectory already exists.\n";
-       } else {
-               echo "Creating $wgUploadDirectory...\n";
-               mkdir( $wgUploadDirectory, 0777 );
-               chmod( $wgUploadDirectory, 0777 );
-       }
+       #passthru( '/home/wikipedia/conf/interwiki/update' );
 
-       print "Script ended. You now want to run sync-common-all to publish *dblist files (check them for duplicates first)\n";
+       print "Script ended. You still have to:
+* Add any required settings in InitialiseSettings.php
+* Run sync-common-all
+* Run /home/wikipedia/conf/interwiki/update
+";
 }