This LanguagePl.php works, really ;)
[lhc/web/wiklou.git] / install.php
index 333c433..585e2cf 100644 (file)
@@ -1,5 +1,12 @@
 <?
 
+if (!extension_loaded('mysql')) {
+    if (!dl('mysql.so')) {
+        print "Could not load MySQL driver! Please compile ".
+              "php --with-mysql or install the mysql.so module.\n";
+       exit;
+    }
+}
 # Install software and create new empty database.
 #
 
@@ -14,6 +21,7 @@ if ( ! ( is_readable( "./LocalSettings.php" )
 $DP = "./includes";
 include_once( "./LocalSettings.php" );
 include_once( "./AdminSettings.php" );
+include_once( "./maintenance/InitialiseMessages.php" );
 
 if ( $wgUseTeX && ( ! is_executable( "./math/texvc" ) ) ) {
        print "To use math functions, you must first compile texvc by\n" .
@@ -113,6 +121,7 @@ mysql_select_db( $wgDBname, $rconn );
 dbsource( $rconn, "./maintenance/tables.sql" );
 dbsource( $rconn, "./maintenance/users.sql" );
 dbsource( $rconn, "./maintenance/initialdata.sql" );
+dbsource( $rconn, "./maintenance/interwiki.sql" );
 
 populatedata(); # Needs internationalized messages
 
@@ -162,14 +171,15 @@ function copydirectory( $source, $dest ) {
        $handle = opendir( $source );
        while ( false !== ( $f = readdir( $handle ) ) ) {
                if ( "." == $f{0} ) continue;
-               if ( "CVS" == $f ) continue;
+               # Something made all my "CVSs" go lowercase :(
+               if ( !strcasecmp( "CVS", $f ) ) continue;
                copyfile( $source, $f, $dest );
        }
 }
 
 function readconsole() {
        $fp = fopen( "php://stdin", "r" );
-       $resp = trim( fgets( $fp ) );
+       $resp = trim( fgets( $fp, 1024 ) );
        fclose( $fp );
        return $resp;
 }
@@ -188,7 +198,7 @@ function dbsource( $conn, $fname ) {
        $done = false;
 
        while ( ! feof( $fp ) ) {
-               $line = trim( fgets( $fp ) );
+               $line = trim( fgets( $fp, 1024 ) );
                $sl = strlen( $line ) - 1;
 
                if ( $sl < 0 ) { continue; }
@@ -237,14 +247,14 @@ function populatedata() {
        $fname = "Installation script: populatedata()";
 
        $sql = "DELETE FROM site_stats";
-       wfQuery( $sql, $fname );
+       wfQuery( $sql, DB_WRITE, $fname );
 
        $sql = "INSERT INTO site_stats (ss_row_id,ss_total_views," .
                "ss_total_edits,ss_good_articles) VALUES (1,0,0,0)";
-       wfQuery( $sql, $fname );
+       wfQuery( $sql, DB_WRITE, $fname );
 
        $sql = "DELETE FROM user";
-       wfQuery( $sql, $fname );
+       wfQuery( $sql, DB_WRITE, $fname );
 
        $u = User::newFromName( "WikiSysop" );
        if ( 0 == $u->idForName() ) {
@@ -263,26 +273,30 @@ function populatedata() {
        }
        
        $wns = Namespace::getWikipedia();
-       $ulp = addslashes( wfMsg( "uploadlogpage" ) );
-       $dlp = addslashes( wfMsg( "dellogpage" ) );
+       $ulp = addslashes( wfMsgNoDB( "uploadlogpage" ) );
+       $dlp = addslashes( wfMsgNoDB( "dellogpage" ) );
 
        $sql = "DELETE FROM cur";
-       wfQuery( $sql, $fname );
+       wfQuery( $sql, DB_WRITE, $fname );
 
        $sql = "INSERT INTO cur (cur_namespace,cur_title,cur_text," .
          "cur_restrictions) VALUES ({$wns},'{$ulp}','" .
-         wfStrencode( wfMsg( "uploadlogpagetext" ) ) . "','sysop')";
-       wfQuery( $sql );
+         wfStrencode( wfMsgNoDB( "uploadlogpagetext" ) ) . "','sysop')";
+       wfQuery( $sql, DB_WRITE, $fname );
 
        $sql = "INSERT INTO cur (cur_namespace,cur_title,cur_text," .
          "cur_restrictions) VALUES ({$wns},'{$dlp}','" .
-         wfStrencode( wfMsg( "dellogpagetext" ) ) . "','sysop')";
-       wfQuery( $sql );
-
+         wfStrencode( wfMsgNoDB( "dellogpagetext" ) ) . "','sysop')";
+       wfQuery( $sql, DB_WRITE, $fname );
+       
+       $titleobj = Title::newFromText( wfMsgNoDB( "mainpage" ) );
+       $title = $titleobj->getDBkey();
        $sql = "INSERT INTO cur (cur_namespace,cur_title,cur_text) " .
-         "VALUES (0,'" . wfStrencode( wfMsg( "mainpage" ) ) . "','" .
-         wfStrencode( wfMsg( "mainpagetext" ) ) . "')";
-       wfQuery( $sql );
+         "VALUES (0,'$title','" .
+         wfStrencode( wfMsgNoDB( "mainpagetext" ) ) . "')";
+       wfQuery( $sql, DB_WRITE, $fname );
+       
+       initialiseMessages();
 }
 
 ?>