<?php
+/**********************************************************************
+ Copyright (C) FrontAccounting, LLC.
+ 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/gpl-3.0.html>.
+***********************************************************************/
function write_config_db($new = false)
{
"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 (!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