[ros-diffs] [cfinck] 27719: Some changes to the RosCMS Installation script: - Add a correct function for importing SQL dumps (taken from MediaWiki 1.10.0 and modified) - Add more status information to step 3 of the installation process - Add the main HTML headers - Put the text boxes from step 2 into a table - Show a message in step 1, when the PHP installation is configured correctly

cfinck at svn.reactos.org cfinck at svn.reactos.org
Wed Jul 18 15:39:06 CEST 2007


Author: cfinck
Date: Wed Jul 18 17:39:05 2007
New Revision: 27719

URL: http://svn.reactos.org/svn/reactos?rev=27719&view=rev
Log:
Some changes to the RosCMS Installation script:

- Add a correct function for importing SQL dumps (taken from MediaWiki 1.10.0 and modified)
- Add more status information to step 3 of the installation process
- Add the main HTML headers
- Put the text boxes from step 2 into a table
- Show a message in step 1, when the PHP installation is configured correctly

Modified:
    trunk/web/reactos.org/htdocs/roscms/install.php

Modified: trunk/web/reactos.org/htdocs/roscms/install.php
URL: http://svn.reactos.org/svn/reactos/trunk/web/reactos.org/htdocs/roscms/install.php?rev=27719&r1=27718&r2=27719&view=diff
==============================================================================
--- trunk/web/reactos.org/htdocs/roscms/install.php (original)
+++ trunk/web/reactos.org/htdocs/roscms/install.php Wed Jul 18 17:39:05 2007
@@ -1,43 +1,94 @@
 <?php
-
 	/* RosCMS install script */
 
-	/* @TODO: fix this script */
+	// This function was taken from the sourceStream() function of "Database.php" of MediaWiki 1.10.0 and modified
+	function import_sql_dump( $file )
+	{
+		$ret = TRUE;
+		$fp = fopen( $file, "r" );
+		
+		while( !feof( $fp ) )
+		{
+			$line = trim( fgets( $fp, 1024 ) );
+			$sl = strlen( $line ) - 1;
+			
+			// Skip empty and comment lines
+			if( $sl < 0 || ( $line{0} == "-" && $line{1} == "-" ) )
+				continue;
+			
+			// If this lines ends with a semicolon, it terminates the command
+			if( $line{$sl} == ";" )
+			{
+				$done = true;
+				$line = substr( $line, 0, $sl );
+			}
+			
+			$cmd .= "$line\n";
+			
+			if( $done )
+			{
+				if( !mysql_query( $cmd ) )
+				{
+					$ret = FALSE;
+					echo "<br>" . mysql_errno() . ": " . mysql_error();
+				}
+				
+				$done = false;
+				$cmd = "";
+			}
+		}
+		
+		fclose( $fp );
+		
+		if( $ret )
+			echo "OK";
+		
+		return $ret;
+	}
 
 	$rpm_ready = "";
 	if (array_key_exists("ready", $_GET)) $rpm_ready=htmlspecialchars($_GET["ready"]);
-
-	
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
+<html>
+<head>
+	<title>RosCMS Install Script</title>
+</head>
+<body>
+<?php
 	if ($rpm_ready == "step2") {
 ?>
 	<h1>RosCMS - Install Script - Step2</h1>
 	<form id="form1" method="post" action="install.php?ready=step3">
-	  <h3>Database Information       </h3>
-	  <p>Database Host Name: 
-	    <input name="dbHost" type="text" id="dbHost" value="localhost" />
-      </p>
-	  <p>Database User Name:
-        <input name="dbUser" type="text" id="dbUser" value="root" />
-</p>
-	  <p>Database User Password:
-        <input name="dbPass" type="text" id="dbPass" />
-</p>
-	  <p>Database  Name:
-        <input name="dbName" type="text" id="dbName" value="domainname" />
-</p>
-	  <h3>Server Information </h3>
-	  <p>Complete Server Path: 
-	    <input name="path_server" type="text" id="path_server" value="http://localhost/domain.com/" size="50" />
-	  </p>
-	  <p>&nbsp;</p>
-	  <p>
-	    <label>
-        <input type="submit" name="Submit" value="Install RosCMS ..." />
-        </label>
-      </p>
+		<h3>Database Information</h3>
+		
+		<table>
+			<tr>
+				<td>Database Host Name:</td>
+				<td><input name="dbHost" type="text" id="dbHost" value="localhost" /></td>
+			</tr>
+			<tr>
+				<td>Database User Name:</td>
+				<td><input name="dbUser" type="text" id="dbUser" value="root" /></td>
+			</tr>
+			<tr>
+				<td>Database User Password:</td>
+				<td><input name="dbPass" type="text" id="dbPass" /></td>
+			</tr>
+			<tr>
+				<td>Database  Name:</td>
+				<td><input name="dbName" type="text" id="dbName" value="domainname" /></td>
+			</tr>
+		</table>
+		
+		<h3>Server Information</h3>
+		<p>Complete Server Path: <input name="path_server" type="text" id="path_server" value="http://localhost/domain.com/" size="50" /></p>
+		
+		<p>&nbsp;</p>
+		
+		<input type="submit" name="Submit" value="Install RosCMS ..." />
 	</form>
-	
-<?php	
+<?php
 	}
 	else if ($rpm_ready == "step3") {
 		echo "<h1>RosCMS - Install Script - Step3</h1>";
@@ -54,19 +105,27 @@
 		if (array_key_exists("dbName", $_POST)) $dbName=htmlspecialchars($_POST["dbName"]);
 		if (array_key_exists("path_server", $_POST)) $path_server=htmlspecialchars($_POST["path_server"]);
 
-				
-		$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("ERROR: Cannot connect to the database!");
 		
-		$query_temp1 = mysql_query("CREATE DATABASE `". mysql_real_escape_string($dbName) ."` ;") ;
+		echo "Connecting to the MySQL Server... ";		
+		$connect = mysql_connect($dbHost, $dbUser, $dbPass) or die("Cannot connect to the MySQL Server!");
+		echo "OK<br>";
 		
-		$selectDB = @mysql_select_db($dbName, $connect) or die("Cannot find and select <b>". $dbName ."</b>!");
+		echo "Creating the Database... ";
+		mysql_query("CREATE DATABASE `". mysql_real_escape_string($dbName) ."`") or die( mysql_errno() . ": " . mysql_error() );
+		echo "OK<br>";
 		
-		$query_temp2 = mysql_query(file_get_contents("install_sql.txt")) ;
+		echo "Selecting the Database... ";
+		mysql_select_db($dbName, $connect) or die("Cannot find and select <b>$dbName</b>!");
+		echo "OK<br>";
 		
-		echo "<p>".$query_temp2."</p>";
+		echo "Importing the SQL Data... ";
+		if( !import_sql_dump( "roscms.sql" ) )
+			exit;
 		
+		/* TODO: The complete server path has to be saved somewhere */
 		
-	
+		echo "<p>&nbsp;</p>";
+		echo "<p><b>RosCMS was set up successfully!</b></p>";
 	}
 	else {
 ?>
@@ -77,11 +136,12 @@
 		if (get_magic_quotes_gpc()) {
 			die("<p>ERROR: Disable 'magic quotes' in php.ini (=Off)</p>");
 		}
-		else {
 ?>
-			<p><a href="install.php?ready=step2"><b>Next &gt;</b></a></p>
-			<p>&nbsp;</p>
+		<p>Your PHP installation is configured correctly. Click <i>Next</i> to continue!</p>
+		
+		<p><a href="install.php?ready=step2"><b>Next &gt;</b></a></p>
 <?php
-		}
 	}
-?>
+?>
+</body>
+</html>




More information about the Ros-diffs mailing list