Fixed more rows when reporting to Excel Reports. Greater then 65535 rows.
[fa-stable.git] / admin / db / maintenance_db.inc
index fd30bc2ca6ef88ec0ac38675f9765eccf38b7ed1..f621c2c2e6c5aee8df2a5a0c04e61406ed498cdd 100644 (file)
@@ -71,7 +71,6 @@ 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";
@@ -105,6 +104,7 @@ function write_config_db($new = false)
                        }
                        // Close file
                        fclose($zp);
+                       cache_invalidate($filename);
                }
        }
        else
@@ -164,6 +164,7 @@ function write_extensions($extensions=null, $company = -1)
                }
                // Close file
                fclose($zp);
+               cache_invalidate($filename);
        }
        return true;
 }
@@ -207,7 +208,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 +243,7 @@ function write_lang()
                        }
                        // Close file
                        fclose($zp);
+                       cache_invalidate($filename);
                }
        }
        else
@@ -263,9 +264,10 @@ function write_lang()
 */
 function db_import($filename, $connection, $force=true, $init=true, $protect=false, $return_errors=false)
 {
-       global $db, $go_debug, $sql_trail;
+       global $db, $SysPrefs;
 
-       $sql_trail = false;
+       $trail = $SysPrefs->sql_trail;
+       $SysPrefs->sql_trail = false;
 
        $allowed_commands = array(
                "create"  => 'table_queries', 
@@ -277,6 +279,8 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal
                "drop table if exists" => 'drop_queries',
                "drop function if exists" => 'drop_queries',
                "drop trigger if exists" => 'drop_queries',
+               "select" => 'data_queries', 
+               "delete" => 'data_queries', 
                );
 
        $protected = array(
@@ -301,10 +305,15 @@ 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;
-       // uncrompress gziped backup files
+
+       // uncompress gziped backup files
        if (strpos($filename, ".gz") || strpos($filename, ".GZ"))
        {       $lines = db_ungzip("lines", $filename);
                $check_line_len = true;
@@ -413,8 +422,8 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal
 /*/
        if ($return_errors)
        {       // prevent errors display
-               $save_debug = $go_debug;
-               $go_debug = 0;
+               $save_debug = $SysPrefs->go_debug;
+               $SysPrefs->go_debug = 0;
        }
        // execute drop tables if exists queries
        if (is_array($drop_queries))
@@ -457,7 +466,9 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal
        }
 
        if ($return_errors)
-               $go_debug = $save_debug;
+               $SysPrefs->go_debug = $save_debug;
+
+       $SysPrefs->sql_trail = $trail;
 
        db_query("SET foreign_key_checks=1");
        if ($delimiter != ';') db_query("delimiter ;"); // just for any case
@@ -530,16 +541,13 @@ function db_unzip($mode, $path)
        return explode("\n", $file_data);
 }
 
-function db_backup($conn, $ext='no', $comm='', $path=null)
+function db_backup($conn, $ext='no', $comm='', $path='')
 {
        if ($conn['tbpref'] != "")
                $filename = $conn['dbname'] . "_" . $conn['tbpref'] . date("Ymd_Hi") . ".sql";
        else
                $filename = $conn['dbname'] . "_" . date("Ymd_Hi") . ".sql";
 
-       if (!isset($path))
-               $path = BACKUP_PATH;
-
        return db_export($conn, $path . clean_file_name($filename), $ext, $comm);
 }
 //
@@ -548,7 +556,7 @@ function db_backup($conn, $ext='no', $comm='', $path=null)
 function db_export($conn, $filename, $zip='no', $comment='')
 {
 
-       global $app_title, $version, $power_url, $path_to_root;
+       global $SysPrefs, $version;
 
     $error = false;
     // set max string size before writing to file
@@ -572,8 +580,8 @@ function db_export($conn, $filename, $zip='no', $comment='')
     //create comment
     $out="# MySQL dump of database '".$conn["dbname"]."' on host '".$conn["host"]."'\n";
     $out.="# Backup Date and Time: ".date("Y-m-d H:i")."\n";
-    $out.="# Built by " . $app_title . " " . $version ."\n";
-    $out.="# ".$power_url."\n";
+    $out.="# Built by " . $SysPrefs->app_title . " " . $version ."\n";
+    $out.="# ".$SysPrefs->power_url."\n";
     $out.="# Company: ". @html_entity_decode($company, ENT_QUOTES, $_SESSION['language']->encoding)."\n";
     $out.="# User: ".$_SESSION["wa_current_user"]->name."\n\n";
     $out.="# Compatibility: ".get_company_pref('version_id')."\n\n";
@@ -589,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();
@@ -648,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";
 
@@ -742,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 = "";
@@ -809,7 +810,6 @@ function order_sql_tables($tables, $fks)
 // returns backup file name if name has changed (zip), else TRUE. If saving failed, return value is FALSE
 function save_to_file($path, $zip, $fileData)
 {
-       global $path_to_root;
 
        $backupfile = basename($path);