[Comoblog-commit] comoblog/_install upgrade_3.php, 1.4, 1.5 patch_1.php, 1.2, 1.3 step_1.php, 1.5,
Status: Inactive
Brought to you by:
markwallis
|
From: iamdecal <iam...@us...> - 2006-10-22 11:44:36
|
Update of /cvsroot/comoblog/comoblog/_install In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27709/_install Modified Files: upgrade_3.php patch_1.php step_1.php Log Message: work in progress, ditching this server cos its borked ;( Index: patch_1.php =================================================================== RCS file: /cvsroot/comoblog/comoblog/_install/patch_1.php,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- patch_1.php 17 Feb 2006 15:16:36 -0000 1.2 +++ patch_1.php 22 Oct 2006 11:44:02 -0000 1.3 @@ -1,35 +1,37 @@ -<?php -require ('../include/xtemplate.inc.php'); -require_once (dirname(__FILE__).'/../include/config.inc.php'); - -$query = "select pref_value from ".CFG_MYSQL_TABPREFIX."preferences where pref_name='CFG_VERSION'"; -$res = mysql_query($query); - -$row = mysql_fetch_array($res, MYSQL_NUM); -$ver = $row[0]; - -$errors = array(); - -if ($ver = "1.0") - $errors = run_script(dirname(__FILE__)."/upgrades/1.0_to_1.1.xml"); - -if ($ver = "1.1") - $errors = run_script(dirname(__FILE__)."/upgrades/1.1_to_1.2.xml"); - - -if (count($errors) == 0) -{ - Header ('Location: patch_2.php'); -} -else -{ - $tpl = @new XTemplate ('templates/patch_1.tpl.htm', 'main'); - foreach ($errors as $k => $v) { - $tpl->assign('ERROR', $v); - $tpl->parse('main.errors.error'); - } - $tpl->parse('main.errors'); - $tpl->parse('main'); - $tpl->out('main'); -} -?> +<?php +require ('../include/xtemplate.inc.php'); +require_once (dirname(__FILE__).'/../include/config.inc.php'); + +$query = "select pref_value from ".CFG_MYSQL_TABPREFIX."preferences where pref_name='CFG_VERSION'"; +$res = mysql_query($query); + +$row = mysql_fetch_array($res, MYSQL_NUM); +$ver = $row[0]; + +$errors = array(); + +if ($ver = "1.0") + $errors = run_script(dirname(__FILE__)."/upgrades/1.0_to_1.1.xml"); + +if ($ver = "1.1") + $errors = run_script(dirname(__FILE__)."/upgrades/1.1_to_1.2.xml"); + + if ($ver = "1.2") + $errors = run_script(dirname(__FILE__)."/upgrades/1.2_to_1.3.xml"); + +if (count($errors) == 0) +{ + Header ('Location: patch_2.php'); +} +else +{ + $tpl = @new XTemplate ('templates/patch_1.tpl.htm', 'main'); + foreach ($errors as $k => $v) { + $tpl->assign('ERROR', $v); + $tpl->parse('main.errors.error'); + } + $tpl->parse('main.errors'); + $tpl->parse('main'); + $tpl->out('main'); +} +?> Index: upgrade_3.php =================================================================== RCS file: /cvsroot/comoblog/comoblog/_install/upgrade_3.php,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- upgrade_3.php 20 Nov 2005 08:01:35 -0000 1.4 +++ upgrade_3.php 22 Oct 2006 11:44:02 -0000 1.5 @@ -1,82 +1,82 @@ -<?php -require ('../include/xtemplate.inc.php'); -require('../admin/include/xml2array.inc.php'); -require_once (dirname(__FILE__).'/../include/config.inc.php'); -require_once (dirname(__FILE__).'/../admin/include/modules.inc.php'); - -$tpl = @new XTemplate ('templates/upgrade_3.tpl.htm', 'main'); - -session_start(); - -$old_path = $_SESSION['old_path']."/modules"; -$new_path = $_SESSION['new_path']."/modules"; - -$migrated = 0; -$upgraded = 0; -$new_path = $_SESSION['new_path']."/modules"; - -$migrated = 0; -$upgraded = 0; -$uncertified = 0; - -if (is_dir($old_path)) { - $dh = opendir($old_path); - while (($dir = readdir($dh)) != false) { - if (strpos($dir, "mod_") !== FALSE && file_exists($old_path."/".$dir."/install/".$dir.".xml")) { - if (is_dir($new_path."/".$dir) == FALSE) { - module_deactivate_by_name($dir); - if (is_module_certified($dir)) - $tpl->assign('MODULE', $dir); - else { - $tpl->assign('MODULE', $dir." (uncertified)"); - $uncertified++; - } - $tpl->parse('main.migrated.module'); - $migrated++; - } - else { - $compare = compare_module_version($dir); - - if ($compare > 0) { - $module_install = module_install($dir); - if (!$module_install) { - if (is_module_certified($dir)) - $tpl->assign('MODULE', $dir); - else { - module_deactivate_by_name($dir); - $tpl->assign('MODULE', $dir." (uncertified)"); - $uncertified++; - } - $tpl->parse('main.upgraded.module'); - $upgraded++; - } - } - else if ($compare < 0) { - module_deactivate_by_name($dir); - if (is_module_certified($dir)) - $tpl->assign('main.migrated.module', $dir); - else { - $tpl->assign('main.migrated.module', $dir." (uncertified)"); - $uncertified++; - } - $tpl->parse('main.migrated.module'); - $migrated++; - } - } - } - } -} - -if ($upgraded > 0) - $tpl->parse('main.upgraded'); -if ($migrated > 0) - $tpl->parse('main.migrated'); -if ($uncertified > 0) - $tpl->parse('main.uncertified'); - -if ($upgraded == 0 && $migrated == 0 && $uncertified == 0) - $tpl->parse('main.nothing'); - -$tpl->parse('main'); -$tpl->out('main'); -?> +<?php +require ('../include/xtemplate.inc.php'); +require_once('../admin/include/xml2array.inc.php'); +require_once (dirname(__FILE__).'/../include/config.inc.php'); +require_once (dirname(__FILE__).'/../admin/include/modules.inc.php'); + +$tpl = @new XTemplate ('templates/upgrade_3.tpl.htm', 'main'); + +session_start(); + +$old_path = $_SESSION['old_path']."/modules"; +$new_path = $_SESSION['new_path']."/modules"; + +$migrated = 0; +$upgraded = 0; +$new_path = $_SESSION['new_path']."/modules"; + +$migrated = 0; +$upgraded = 0; +$uncertified = 0; + +if (is_dir($old_path)) { + $dh = opendir($old_path); + while (($dir = readdir($dh)) != false) { + if (strpos($dir, "mod_") !== FALSE && file_exists($old_path."/".$dir."/install/".$dir.".xml")) { + if (is_dir($new_path."/".$dir) == FALSE) { + module_deactivate_by_name($dir); + if (is_module_certified($dir)) + $tpl->assign('MODULE', $dir); + else { + $tpl->assign('MODULE', $dir." (uncertified)"); + $uncertified++; + } + $tpl->parse('main.migrated.module'); + $migrated++; + } + else { + $compare = compare_module_version($dir); + + if ($compare > 0) { + $module_install = module_install($dir); + if (!$module_install) { + if (is_module_certified($dir)) + $tpl->assign('MODULE', $dir); + else { + module_deactivate_by_name($dir); + $tpl->assign('MODULE', $dir." (uncertified)"); + $uncertified++; + } + $tpl->parse('main.upgraded.module'); + $upgraded++; + } + } + else if ($compare < 0) { + module_deactivate_by_name($dir); + if (is_module_certified($dir)) + $tpl->assign('main.migrated.module', $dir); + else { + $tpl->assign('main.migrated.module', $dir." (uncertified)"); + $uncertified++; + } + $tpl->parse('main.migrated.module'); + $migrated++; + } + } + } + } +} + +if ($upgraded > 0) + $tpl->parse('main.upgraded'); +if ($migrated > 0) + $tpl->parse('main.migrated'); +if ($uncertified > 0) + $tpl->parse('main.uncertified'); + +if ($upgraded == 0 && $migrated == 0 && $uncertified == 0) + $tpl->parse('main.nothing'); + +$tpl->parse('main'); +$tpl->out('main'); +?> Index: step_1.php =================================================================== RCS file: /cvsroot/comoblog/comoblog/_install/step_1.php,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- step_1.php 16 Aug 2006 01:12:41 -0000 1.5 +++ step_1.php 22 Oct 2006 11:44:02 -0000 1.6 @@ -1,239 +1,239 @@ -<?php -/* - database configuration - */ - -@ignore_user_abort(true); -@set_time_limit(300); -session_start(); -if ($_SESSION['step'] < 0) { - Header('Location: step_0.php'); - exit(); -} - -require ('../include/xtemplate.inc.php'); - -$tpl = @new XTemplate ('templates/step_1.tpl.htm'); - - -if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { - - // check form - foreach ($_POST as $k => $v) { - $_POST[$k] = trim($v); - } - - $errors = array(); - - if ($_POST['mysql_host'] == '') - $errors[] = 'mySQL host name required'; - - if ($_POST['mysql_username'] == '') - $errors[] = 'mySQL username required'; - - if ($_POST['mysql_password'] != $_POST['mysql_password_cfr']) - $errors[] = 'mySQL password mismatch'; - - if ($_POST['mysql_dbname'] == '') - $errors[] = 'mySQL database name required'; - - if ($_POST['mysql_tabprefix'] == '') - $errors[] = 'mySQL tab prefix required'; - - - if (count($errors) == 0) { // test db connection - - $_POST['mysql_tabprefix'] = eregi_replace(" +", "_", $_POST['mysql_tabprefix']); - $_POST['mysql_tabprefix'] = eregi_replace("\.+", "_", $_POST['mysql_tabprefix']); - $_POST['mysql_tabprefix'] = eregi_replace(";+", "_", $_POST['mysql_tabprefix']); - $_POST['mysql_tabprefix'] = eregi_replace(":+", "_", $_POST['mysql_tabprefix']); - - $dbconn = @mysql_connect ($_POST['mysql_host'], $_POST['mysql_username'], $_POST['mysql_password']); - if (!$dbconn) - { - $errors[] = 'Error connecting to mySQL server'; - $errors[] = 'error reported: ' . mysql_error(); - } - - $selectdb = @mysql_select_db ($_POST['mysql_dbname']); - if (!$selectdb) - $errors[] = 'Error selecting database (check database name)'; - - $query = "select pref_value from ".$_POST['mysql_tabprefix']."preferences where pref_name='CFG_VERSION'"; - $res = mysql_query($query); - if ($res) - { - // Upgrade detected - - $fp = fopen('param.inc.dist', 'r'); - $config = fread($fp, filesize('param.inc.dist')); - fclose($fp); - $config = str_replace('{##MYSQL_HOST##}', $_POST['mysql_host'], $config); - $config = str_replace('{##MYSQL_USERNAME##}', $_POST['mysql_username'], $config); - $config = str_replace('{##MYSQL_PASSWORD##}', $_POST['mysql_password'], $config); - $config = str_replace('{##MYSQL_DBNAME##}', $_POST['mysql_dbname'], $config); - $config = str_replace('{##MYSQL_TABPREFIX##}', $_POST['mysql_tabprefix'], $config); - - $fp = fopen(dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 'w'); - fwrite($fp, $config); - fclose($fp); - - @chmod (dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 0600); - - header ('Location: upgrade_0.php'); - exit; - } - } - - if (count($errors) == 0) { - require (dirname(__FILE__).'/../admin/include/xml2array.inc.php'); - - $xmlparse = &new ParseXML; - $xml = $xmlparse->GetXMLTree('comoblog_db.xml'); - - $queryerror = false; - - // generate queries - $tables = $xml['COMOBLOG_DB'][0]['TABLE']; - for ($c = 0; $c < count($tables); $c++) { - $table_name = $tables[$c]['ATTRIBUTES']['NAME']; - $table_name = str_replace('comoblog_', $_POST['mysql_tabprefix'], $table_name); - $query = "CREATE TABLE `".$table_name."` (\n"; - $fields = $tables[$c]['FIELD']; - for ($f = 0; $f < count($fields); $f++) { - $field_name = $fields[$f]['ATTRIBUTES']['NAME']; - $field_specs = $fields[$f]['ATTRIBUTES']['SPECS']; - $query .= "`".$field_name."` ".$field_specs . ",\n"; - } - $pk = $tables[$c]['PK'][0]['ATTRIBUTES']['NAME']; - $query .= "\nPRIMARY KEY (`".$pk."`)"; - if (isset($tables[$c]['UK'])) - $uks = $tables[$c]['UK']; - else - $uks = array(); - for ($u = 0; $u < count($uks); $u++) { - $uk = $uks[$u]['ATTRIBUTES']['NAME']; - $query .= ",\nUNIQUE KEY (`".$uk."`)"; - } - $query .= "\n) TYPE=MyISAM\n"; - - // execute CREATE TABLE query - $result = mysql_query($query); - - if (!$result) { - $queryerror = true; - } - if (isset($tables[$c]['ROW'])) - $rows = $tables[$c]['ROW']; - else - $rows = array(); - for ($r = 0; $r < count($rows); $r++) { - $query_fields = ''; - $query_values = ''; - $fields = $rows[$r]['FIELD']; - for ($f = 0; $f < count($fields); $f++) { - $field_name = $fields[$f]['ATTRIBUTES']['NAME']; - $query_fields .= $field_name; - if ($f < count($fields) - 1) { - $query_fields .= ",\n"; - } - $field_value = addslashes($fields[$f]['ATTRIBUTES']['VALUE']); - $query_values .= "'".$field_value."'"; - if ($f < count($fields) - 1) { - $query_values .= ",\n"; - } - } - $query = "INSERT INTO `".$table_name."`\n(".$query_fields.")\nVALUES\n(".$query_values.")"; - - // execute INSERT query - $result = mysql_query($query); - - if (!$result) { - $queryerror = true; - } - } - } - - // comoblog_preferences - unset ($xmlparse); - $xmlparse = &new ParseXML; - $xml = $xmlparse->GetXMLTree('comoblog_preferences.xml'); - $preferences = $xml['COMOBLOG_PREFERENCES'][0]['PARAM']; - for ($c = 0; $c < count($preferences); $c++) { - $pref_name = addslashes($preferences[$c]['ATTRIBUTES']['NAME']); - $pref_value = addslashes($preferences[$c]['ATTRIBUTES']['VALUE']); - $pref_description = addslashes($preferences[$c]['ATTRIBUTES']['DESCRIPTION']); - $pref_topic_id = addslashes($preferences[$c]['ATTRIBUTES']['TOPIC_ID']); - $pref_encrypt = addslashes($preferences[$c]['ATTRIBUTES']['ENCRYPT']); - $pref_type = addslashes($preferences[$c]['ATTRIBUTES']['TYPE']); - $pref_restrict_values = addslashes($preferences[$c]['ATTRIBUTES']['RESTRICT_VALUES']); - $pref_accept_null = addslashes($preferences[$c]['ATTRIBUTES']['ACCEPT_NULL']); - $pref_editable = addslashes($preferences[$c]['ATTRIBUTES']['EDITABLE']); - $pref_display_order = addslashes($preferences[$c]['ATTRIBUTES']['DISPLAY_ORDER']); - - $query = "INSERT INTO `".$_POST['mysql_tabprefix']."preferences` (pref_name,pref_value,pref_description,pref_topic_id,pref_encrypt,pref_type,pref_restrict_values,pref_accept_null,pref_editable,pref_display_order) VALUES ('".$pref_name."','".$pref_value."','".$pref_description."','".$pref_topic_id."','".$pref_encrypt."','".$pref_type."','".$pref_restrict_values."','".$pref_accept_null."','".$pref_editable."','".$pref_display_order."')"; - - $result = mysql_query($query); - - if (!$result) { - $queryerror = true; - } - } - - if ($queryerror === true) {// if query failed, delete all tables (prefixed by tab_prefix) and print error - $sql2 = 'show tables from '.$_POST['mysql_dbname']; - $res2 = mysql_query($sql2); - while ($row = mysql_fetch_row($res2)) { - if (substr($row[0],0,strlen($_POST['mysql_tabprefix'])) == $_POST['mysql_tabprefix']) - mysql_query('drop table '.$row[0]); - } - $errors[] = 'Error creating mySQL tables'; - - mysql_close(); - } - else { - // change values in param.inc.php - $fp = fopen('param.inc.dist', 'r'); - $config = fread($fp, filesize('param.inc.dist')); - fclose($fp); - $config = str_replace('{##MYSQL_HOST##}', $_POST['mysql_host'], $config); - $config = str_replace('{##MYSQL_USERNAME##}', $_POST['mysql_username'], $config); - $config = str_replace('{##MYSQL_PASSWORD##}', $_POST['mysql_password'], $config); - $config = str_replace('{##MYSQL_DBNAME##}', $_POST['mysql_dbname'], $config); - $config = str_replace('{##MYSQL_TABPREFIX##}', $_POST['mysql_tabprefix'], $config); - - $fp = fopen(dirname(__FILE__).'/../include/param.inc.php', 'w'); - fwrite($fp, $config); - fclose($fp); - - @chmod (dirname(__FILE__).'/../include/param.inc.php', 0600); - - // redirect to step 2 - $_SESSION['step'] = 1; - Header ('Location: step_2.php'); - exit(); - } - } -} - -$tpl->assign('ACTION', basename($_SERVER['PHP_SELF'])); - -if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { - - if (count($errors) > 0) { - foreach ($errors as $k => $v) { - $tpl->assign('ERROR', $v); - $tpl->parse('main.errors.error'); - } - $tpl->parse('main.errors'); - } - $tpl->assign('POST', $_POST); -} -else { - $_POST['mysql_tabprefix'] = 'comoblog_'; - $tpl->assign('POST', $_POST); -} - -$tpl->parse('main'); -$tpl->out('main'); -?> +<?php +/* + database configuration + */ + +@ignore_user_abort(true); +@set_time_limit(300); +session_start(); +if ($_SESSION['step'] < 0) { + Header('Location: step_0.php'); + exit(); +} + +require ('../include/xtemplate.inc.php'); + +$tpl = @new XTemplate ('templates/step_1.tpl.htm'); + + +if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { + + // check form + foreach ($_POST as $k => $v) { + $_POST[$k] = trim($v); + } + + $errors = array(); + + if ($_POST['mysql_host'] == '') + $errors[] = 'mySQL host name required'; + + if ($_POST['mysql_username'] == '') + $errors[] = 'mySQL username required'; + + if ($_POST['mysql_password'] != $_POST['mysql_password_cfr']) + $errors[] = 'mySQL password mismatch'; + + if ($_POST['mysql_dbname'] == '') + $errors[] = 'mySQL database name required'; + + if ($_POST['mysql_tabprefix'] == '') + $errors[] = 'mySQL tab prefix required'; + + + if (count($errors) == 0) { // test db connection + + $_POST['mysql_tabprefix'] = eregi_replace(" +", "_", $_POST['mysql_tabprefix']); + $_POST['mysql_tabprefix'] = eregi_replace("\.+", "_", $_POST['mysql_tabprefix']); + $_POST['mysql_tabprefix'] = eregi_replace(";+", "_", $_POST['mysql_tabprefix']); + $_POST['mysql_tabprefix'] = eregi_replace(":+", "_", $_POST['mysql_tabprefix']); + + $dbconn = @mysql_connect ($_POST['mysql_host'], $_POST['mysql_username'], $_POST['mysql_password']); + if (!$dbconn) + { + $errors[] = 'Error connecting to mySQL server'; + $errors[] = 'error reported: ' . mysql_error(); + } + + $selectdb = @mysql_select_db ($_POST['mysql_dbname']); + if (!$selectdb) + $errors[] = 'Error selecting database (check database name)'; + + $query = "select pref_value from ".$_POST['mysql_tabprefix']."preferences where pref_name='CFG_VERSION'"; + $res = mysql_query($query); + if ($res) + { + // Upgrade detected + + $fp = fopen('param.inc.dist', 'r'); + $config = fread($fp, filesize('param.inc.dist')); + fclose($fp); + $config = str_replace('{##MYSQL_HOST##}', $_POST['mysql_host'], $config); + $config = str_replace('{##MYSQL_USERNAME##}', $_POST['mysql_username'], $config); + $config = str_replace('{##MYSQL_PASSWORD##}', $_POST['mysql_password'], $config); + $config = str_replace('{##MYSQL_DBNAME##}', $_POST['mysql_dbname'], $config); + $config = str_replace('{##MYSQL_TABPREFIX##}', $_POST['mysql_tabprefix'], $config); + + $fp = fopen(dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 'w'); + fwrite($fp, $config); + fclose($fp); + + @chmod (dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 0600); + + header ('Location: upgrade_0.php'); + exit; + } + } + + if (count($errors) == 0) { + require_once (dirname(__FILE__).'/../admin/include/xml2array.inc.php'); + + $xmlparse = &new ParseXML; + $xml = $xmlparse->GetXMLTree('comoblog_db.xml'); + + $queryerror = false; + + // generate queries + $tables = $xml['COMOBLOG_DB'][0]['TABLE']; + for ($c = 0; $c < count($tables); $c++) { + $table_name = $tables[$c]['ATTRIBUTES']['NAME']; + $table_name = str_replace('comoblog_', $_POST['mysql_tabprefix'], $table_name); + $query = "CREATE TABLE `".$table_name."` (\n"; + $fields = $tables[$c]['FIELD']; + for ($f = 0; $f < count($fields); $f++) { + $field_name = $fields[$f]['ATTRIBUTES']['NAME']; + $field_specs = $fields[$f]['ATTRIBUTES']['SPECS']; + $query .= "`".$field_name."` ".$field_specs . ",\n"; + } + $pk = $tables[$c]['PK'][0]['ATTRIBUTES']['NAME']; + $query .= "\nPRIMARY KEY (`".$pk."`)"; + if (isset($tables[$c]['UK'])) + $uks = $tables[$c]['UK']; + else + $uks = array(); + for ($u = 0; $u < count($uks); $u++) { + $uk = $uks[$u]['ATTRIBUTES']['NAME']; + $query .= ",\nUNIQUE KEY (`".$uk."`)"; + } + $query .= "\n) TYPE=MyISAM\n"; + + // execute CREATE TABLE query + $result = mysql_query($query); + + if (!$result) { + $queryerror = true; + } + if (isset($tables[$c]['ROW'])) + $rows = $tables[$c]['ROW']; + else + $rows = array(); + for ($r = 0; $r < count($rows); $r++) { + $query_fields = ''; + $query_values = ''; + $fields = $rows[$r]['FIELD']; + for ($f = 0; $f < count($fields); $f++) { + $field_name = $fields[$f]['ATTRIBUTES']['NAME']; + $query_fields .= $field_name; + if ($f < count($fields) - 1) { + $query_fields .= ",\n"; + } + $field_value = addslashes($fields[$f]['ATTRIBUTES']['VALUE']); + $query_values .= "'".$field_value."'"; + if ($f < count($fields) - 1) { + $query_values .= ",\n"; + } + } + $query = "INSERT INTO `".$table_name."`\n(".$query_fields.")\nVALUES\n(".$query_values.")"; + + // execute INSERT query + $result = mysql_query($query); + + if (!$result) { + $queryerror = true; + } + } + } + + // comoblog_preferences + unset ($xmlparse); + $xmlparse = &new ParseXML; + $xml = $xmlparse->GetXMLTree('comoblog_preferences.xml'); + $preferences = $xml['COMOBLOG_PREFERENCES'][0]['PARAM']; + for ($c = 0; $c < count($preferences); $c++) { + $pref_name = addslashes($preferences[$c]['ATTRIBUTES']['NAME']); + $pref_value = addslashes($preferences[$c]['ATTRIBUTES']['VALUE']); + $pref_description = addslashes($preferences[$c]['ATTRIBUTES']['DESCRIPTION']); + $pref_topic_id = addslashes($preferences[$c]['ATTRIBUTES']['TOPIC_ID']); + $pref_encrypt = addslashes($preferences[$c]['ATTRIBUTES']['ENCRYPT']); + $pref_type = addslashes($preferences[$c]['ATTRIBUTES']['TYPE']); + $pref_restrict_values = addslashes($preferences[$c]['ATTRIBUTES']['RESTRICT_VALUES']); + $pref_accept_null = addslashes($preferences[$c]['ATTRIBUTES']['ACCEPT_NULL']); + $pref_editable = addslashes($preferences[$c]['ATTRIBUTES']['EDITABLE']); + $pref_display_order = addslashes($preferences[$c]['ATTRIBUTES']['DISPLAY_ORDER']); + + $query = "INSERT INTO `".$_POST['mysql_tabprefix']."preferences` (pref_name,pref_value,pref_description,pref_topic_id,pref_encrypt,pref_type,pref_restrict_values,pref_accept_null,pref_editable,pref_display_order) VALUES ('".$pref_name."','".$pref_value."','".$pref_description."','".$pref_topic_id."','".$pref_encrypt."','".$pref_type."','".$pref_restrict_values."','".$pref_accept_null."','".$pref_editable."','".$pref_display_order."')"; + + $result = mysql_query($query); + + if (!$result) { + $queryerror = true; + } + } + + if ($queryerror === true) {// if query failed, delete all tables (prefixed by tab_prefix) and print error + $sql2 = 'show tables from '.$_POST['mysql_dbname']; + $res2 = mysql_query($sql2); + while ($row = mysql_fetch_row($res2)) { + if (substr($row[0],0,strlen($_POST['mysql_tabprefix'])) == $_POST['mysql_tabprefix']) + mysql_query('drop table '.$row[0]); + } + $errors[] = 'Error creating mySQL tables'; + + mysql_close(); + } + else { + // change values in param.inc.php + $fp = fopen('param.inc.dist', 'r'); + $config = fread($fp, filesize('param.inc.dist')); + fclose($fp); + $config = str_replace('{##MYSQL_HOST##}', $_POST['mysql_host'], $config); + $config = str_replace('{##MYSQL_USERNAME##}', $_POST['mysql_username'], $config); + $config = str_replace('{##MYSQL_PASSWORD##}', $_POST['mysql_password'], $config); + $config = str_replace('{##MYSQL_DBNAME##}', $_POST['mysql_dbname'], $config); + $config = str_replace('{##MYSQL_TABPREFIX##}', $_POST['mysql_tabprefix'], $config); + + $fp = fopen(dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 'w'); + fwrite($fp, $config); + fclose($fp); + + @chmod (dirname(__FILE__).'/../include/param.inc.'. $_SERVER['SERVER_NAME'].'.php', 0600); + + // redirect to step 2 + $_SESSION['step'] = 1; + Header ('Location: step_2.php'); + exit(); + } + } +} + +$tpl->assign('ACTION', basename($_SERVER['PHP_SELF'])); + +if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { + + if (count($errors) > 0) { + foreach ($errors as $k => $v) { + $tpl->assign('ERROR', $v); + $tpl->parse('main.errors.error'); + } + $tpl->parse('main.errors'); + } + $tpl->assign('POST', $_POST); +} +else { + $_POST['mysql_tabprefix'] = 'comoblog_'; + $tpl->assign('POST', $_POST); +} + +$tpl->parse('main'); +$tpl->out('main'); +?> |