<?php
/**********************************************************************
Copyright (C) FrontAccounting, LLC.
- Released under the terms of the GNU Affero General Public License,
- AGPL, as published by the Free Software Foundation, either version
+ Released under the terms of the GNU General Public License,
+ GPL, as published by the Free Software Foundation, either version
3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License here <http://www.gnu.org/licenses/agpl-3.0.html>.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
+
function write_config_db($new = false)
{
global $path_to_root, $def_coy, $db_connections, $tb_pref_counter;
"drop table if exists" => 'drop_queries');
$ignored_mysql_errors = array( //errors ignored in normal (non forced) mode
'1022', // duplicate key
+ '1050', // Table %s already exists
'1060', // duplicate column name
'1061', // duplicate key name
'1062', // duplicate key entry
$sql_errors = array();
ini_set("max_execution_time", "180");
+ db_query("SET foreign_key_checks=0");
+
// uncrompress gziped backup files
if (strpos($filename, ".gzip") || strpos($filename, ".GZIP"))
$lines = db_ungzip("lines", $filename);
if (strtolower(substr($line, 0, strlen($cmd))) == $cmd)
{
$query_table = $table;
- if (strstr(strtolower($line), ' drop column '))
- $query_table = 'drop_queries';
${$query_table}[] = array('', $line_no+1);
break;
}
if (!db_query($drop_query[0]))
{
if (!in_array(db_error_no(), $ignored_mysql_errors))
- $sql_errors[] = array(db_error_no().':'.db_error_msg($db), $drop_query[1]);
+ $sql_errors[] = array(db_error_msg($db), $drop_query[1]);
}
}
}
foreach($table_queries as $table_query)
{
if (!db_query($table_query[0]))
- {
- if (!$force || !in_array(db_error_no(), $ignored_mysql_errors))
+ {
+ if (!in_array(db_error_no(), $ignored_mysql_errors) || !$force) {
$sql_errors[] = array(db_error_msg($db), $table_query[1]);
+ }
}
}
}
{
if (!db_query($data_query[0]))
{
- if (!$force || !in_array(db_error_no(),$ignored_mysql_errors))
+ if (!in_array(db_error_no(),$ignored_mysql_errors) || !$force)
$sql_errors[] = array(db_error_msg($db), $data_query[1]);
}
}
}
+ db_query("SET foreign_key_checks=1");
+
if (count($sql_errors)) {
// display first failure message; the rest are probably derivative
$err = $sql_errors[0];
}
}
-
+function create_comp_dirs($comp_path, $comp_subdirs)
+{
+ $index = "<?php\nheader(\"Location: ../index.php\");\n?>";
+ $cdir = $comp_path;
+ @mkdir($cdir);
+ $f = @fopen("$cdir/index.php", "wb");
+ @fwrite($f, $index);
+ @fclose($f);
+
+ foreach($comp_subdirs as $dir)
+ {
+ @mkdir($cdir.'/'.$dir);
+ $f = @fopen("$cdir/$dir/index.php", "wb");
+ @fwrite($f, $index);
+ @fclose($f);
+ }
+}
?>
\ No newline at end of file