Apply live hacks from Wikimedia codebase:
authorBrion Vibber <brion@users.mediawiki.org>
Tue, 29 Jan 2008 01:21:34 +0000 (01:21 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Tue, 29 Jan 2008 01:21:34 +0000 (01:21 +0000)
* generate interwiki map SQL files per db in a directory instead of all in a blob
* add Wikiversity

maintenance/rebuildInterwiki.inc
maintenance/rebuildInterwiki.php

index d85612b..a14f889 100644 (file)
@@ -28,7 +28,7 @@ class Site {
        }
 }
 
-function getRebuildInterwikiSQL() {
+function makeInterwikiSQL( $destDir ) {
        global $langlist, $languageAliases, $prefixRewrites;
 
        # Multi-language sites
@@ -41,6 +41,7 @@ function getRebuildInterwikiSQL() {
                'wikinews' => new Site( 'wikinews', 'n', 'wikinews.org' ),
                'wikisource' => new Site( 'wikisource', 's', 'wikisource.org' ),
                'wikimedia' => new Site( 'wikimedia', 'chapter', 'wikimedia.org' ),
+               'wikiversity' => new Site( 'wikiversity', 'v', 'wikiversity.org' ),
        );
 
        # List of language prefixes likely to be found in multi-language sites
@@ -123,10 +124,10 @@ function getRebuildInterwikiSQL() {
                }
        }
 
-       $sql = "-- Generated by rebuildInterwiki.php";
 
 
        foreach ( $dblist as $db ) {
+               $sql = "-- Generated by rebuildInterwiki.php";
                if ( isset( $specials[$db] ) ) {
                        # Special wiki
                        # Has interwiki links and interlanguage links to wikipedia
@@ -211,10 +212,10 @@ function getRebuildInterwikiSQL() {
                        foreach ( $extraLinks as $link ){
                                        $sql .= makeLink( $link, $first, $db );
                        }
-                       $sql .= ";\n\n";
+                       $sql .= ";\n";
                }
+               file_put_contents( "$destDir/$db.sql", $sql );
        }
-       return $sql;
 }
 
 # ------------------------------------------------------------------------------------------
index bc0a000..0896842 100644 (file)
@@ -9,22 +9,18 @@
 /** */
 $oldCwd = getcwd();
 
-$optionsWithArgs = array( "o" );
+$optionsWithArgs = array( "d" );
 include_once( "commandLine.inc" );
 include_once( "rebuildInterwiki.inc" );
 chdir( $oldCwd );
 
-$sql = getRebuildInterwikiSQL();
-
 # Output
-if ( isset( $options['o'] ) ) {
-       # To file specified with -o
-       $file = fopen( $options['o'], "w" );
-       fwrite( $file, $sql );
-       fclose( $file );
+if ( isset( $options['d'] ) ) {
+       $destDir = $options['d'];
 } else {
-       # To stdout
-       print $sql;
+       $destDir = '/home/wikipedia/conf/interwiki/sql';
 }
 
+echo "Making new interwiki SQL files in $destDir\n";
+makeInterwikiSQL( $destDir );