Relaxed sql_mode set on database initialization to provide backward compatibility...
[fa-stable.git] / admin / db / maintenance_db.inc
index f621c2c2e6c5aee8df2a5a0c04e61406ed498cdd..e574fc98a012555ab2d373724ee96b2b3cc7605c 100644 (file)
@@ -75,10 +75,12 @@ function write_config_db($new = false)
        $msg .= "/*Connection Information for the database\n";
        $msg .= "\$def_coy - the default company that is pre-selected on login\n\n";
        $msg .= "'host' - the computer ip address or name where the database is. The default is 'localhost' assuming that the web server is also the sql server.\n\n";
+       $msg .= "'port' - the computer port where the database is. The default is '3306'. Set empty for default.\n\n";
        $msg .= "'dbuser' - the user name under which the company database should be accessed.\n";
        $msg .= "  NB it is not secure to use root as the dbuser with no password - a user with appropriate privileges must be set up.\n\n";
        $msg .= "'dbpassword' - the password required for the dbuser to authorise the above database user.\n\n";
        $msg .= "'dbname' - the name of the database as defined in the RDMS being used. Typically RDMS allow many databases to be maintained under the same server.\n";
+       $msg .= "'collation' - the character set used for the database.\n";
        $msg .= "'tbpref' - prefix on table names, or '' if not used. Always use non-empty prefixes if multiply company use the same database.\n";
        $msg .= "*/\n\n\n";
 
@@ -181,7 +183,7 @@ function update_extensions($extensions) {
        }
 
        // update per company files
-       $cnt = max(1, count($db_connections));
+       $cnt = max(1, count_array($db_connections));
        for($i = 0; $i < $cnt; $i++) 
        {
                $newexts = $extensions;
@@ -307,6 +309,7 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal
 
        ini_set("max_execution_time", max("180", ini_get("max_execution_time")));
        db_query("SET foreign_key_checks=0");
+       db_query("SET sql_mode=''");
 
        if (isset($connection['collation']))
                db_set_collation($db, $connection['collation']);
@@ -550,7 +553,6 @@ function db_backup($conn, $ext='no', $comm='', $path='')
 
        return db_export($conn, $path . clean_file_name($filename), $ext, $comm);
 }
-//
 // Generates a dump of $db database
 //
 function db_export($conn, $filename, $zip='no', $comment='')
@@ -563,8 +565,7 @@ function db_export($conn, $filename, $zip='no', $comment='')
     $max_size = 1048576 * 2; // 2 MB
     // changes max size if value can be retrieved
     if (ini_get("memory_limit"))
-       $max_size = 900000 * ini_get("memory_limit");
-
+       $max_size = 1048576 * (int)ini_get("memory_limit");
     // set backupfile name
     if ($zip == "gzip")
        $backupfile = $filename . ".gz";