[0004216] Print Work Orders: database error fixed when voided WO is in selected range.
[fa-stable.git] / admin / db / maintenance_db.inc
index 6ab542d0397a3f656d033d921fdb512d3a4d7309..ab7334f0258a387d721a93bfe4ba729c3725b2f6 100644 (file)
@@ -71,15 +71,16 @@ function write_config_db($new = false)
 
        if ($new)
                $tb_pref_counter++;
-       $n = count($db_connections);
        $msg = "<?php\n\n";
        $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";
 
@@ -105,6 +106,7 @@ function write_config_db($new = false)
                        }
                        // Close file
                        fclose($zp);
+                       cache_invalidate($filename);
                }
        }
        else
@@ -164,6 +166,7 @@ function write_extensions($extensions=null, $company = -1)
                }
                // Close file
                fclose($zp);
+               cache_invalidate($filename);
        }
        return true;
 }
@@ -207,7 +210,6 @@ function write_lang()
        global $path_to_root, $installed_languages, $dflt_lang;
 
        $installed_languages = array_natsort($installed_languages, 'code', 'code');
-       $n = count($installed_languages);
        $msg = "<?php\n\n";
 
        $msg .= "/* How to make new entries here for non-packaged languages:\n\n";
@@ -243,6 +245,7 @@ function write_lang()
                        }
                        // Close file
                        fclose($zp);
+                       cache_invalidate($filename);
                }
        }
        else
@@ -304,8 +307,12 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal
 
        $old_encoding = db_get_charset($db);
 
-       ini_set("max_execution_time", "180");
+       ini_set("max_execution_time", max("180", ini_get("max_execution_time")));
        db_query("SET foreign_key_checks=0");
+
+       if (isset($connection['collation']))
+               db_set_collation($db, $connection['collation']);
+
        $check_line_len = false;
 
        // uncompress gziped backup files
@@ -545,7 +552,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='')
@@ -558,8 +564,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";
@@ -592,8 +597,6 @@ function db_export($conn, $filename, $zip='no', $comment='')
                $out.="\n";
        }
 
-    //$out.="use ".$db.";\n"; we don't use this option.
-
        if (db_fixed())
        {
                db_set_encoding();
@@ -651,9 +654,6 @@ function db_export($conn, $filename, $zip='no', $comment='')
                        $out.="DROP TABLE IF EXISTS `".$tablename."`;\n\n";
                        $out.=$table_sql[$tablename];
 
-                       // add auto_increment value
-//                     if ($auto_incr[$tablename])
-//                             $out.=" AUTO_INCREMENT=".$auto_incr[$tablename];
                        $out.=" ;";
                        $out.="\n\n";
 
@@ -745,8 +745,6 @@ function db_export($conn, $filename, $zip='no', $comment='')
                return false;
        }
 
-       //if ($zip == "zip")
-       //      $zip = $time;
        if (save_to_file($backupfile, $zip, $out))
        {
                $out = "";