Update of /cvsroot/php-blog/jBlog
In directory sc8-pr-cvs1:/tmp/cvs-serv15451
Modified Files:
jBlog_admin_installer.inc.php jBlog_functions.inc.php
Log Message:
make the sql parser more robust.
Index: jBlog_admin_installer.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_admin_installer.inc.php,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- jBlog_admin_installer.inc.php 27 Feb 2003 16:55:35 -0000 1.1.1.1
+++ jBlog_admin_installer.inc.php 4 Mar 2003 22:18:21 -0000 1.2
@@ -118,6 +118,33 @@
echo "</form>";
}
+function jBlog_parse_sql_tables($filename) {
+ $in_table = 0;
+ $queries = array();
+
+ $fp = fopen($filename, 'r');
+ while (!@feof($fp)) {
+ $line = trim(fgets($fp));
+ var_dump($line);
+ if ($in_table) {
+ $def .= $line;
+ if (preg_match('/^\)\s*(type\=\S+)?\s*\;$/i', $line)) {
+ $in_table = 0;
+ array_push($queries, $def);
+ }
+ } else {
+ if (preg_match('#^create table \{PREFIX\}\S+\s*\(#i', $line)) {
+ $in_table = 1;
+ $def = $line;
+ }
+ }
+ }
+ fclose($fp);
+
+ return $queries;
+}
+
+
switch ($_POST["installAction"]) {
case "check":
@@ -206,21 +233,12 @@
// Create tables
echo "Attempting to setup Database...<br>";
@mysql_select_db($_POST["dbName"]);
- $q = file("./db.sql");
- for ($x=0; $x<count($q); $x++) {
- $q[$x] = str_replace("{PREFIX}", $_POST["dbPrefix"], $q[$x]);
- $query = @mysql_query($q[$x]);
- $e = @mysql_error();
- if ($e!="") $errs[] = $e;
- echo "Running <i>".$q[$x]."</i>$e<br>";
- }
- if (is_array($errs)) {
- echo "<font color='#ff0000'>Error!<br>";
- echo "The following errors occured trying to set up the tables:<br>";
- echo implode("<br>", $errs);
- echo "<p>Set up the queries manually by running the following queries:<br><i>";
- echo implode("<br>", $q);
- echo "<i></font>";
+ $queries = jBlog_parse_sql_tables('./db.sql');
+ var_dump($queries);
+ $queries = str_replace("{PREFIX}", $_POST['dbPrefix'], $queries);
+ foreach ($queries as $query) {
+ var_dump($query);
+ mysql_query($query);
}
echo "<p>Welcome to jBlog!</b><p>";
echo "Write down your password: ".$_POST["pass"]." and <a href='".$_POST["jBlogHTTPPath"]."'>check out your blog</a>";
Index: jBlog_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_functions.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- jBlog_functions.inc.php 4 Mar 2003 21:09:22 -0000 1.6
+++ jBlog_functions.inc.php 4 Mar 2003 22:18:21 -0000 1.7
@@ -940,6 +940,6 @@
return 0;
}
- define("JBLOG_FUNCTIONS_LOADED", true);
+define("JBLOG_FUNCTIONS_LOADED", true);
?>
|