From: Janusz Dobrowolski Date: Tue, 16 Sep 2014 21:07:22 +0000 (+0200) Subject: Additional db driver fixes, mysqli api set as default regardless of php version. X-Git-Tag: v2.4.2~19^2~312 X-Git-Url: https://delta.frontaccounting.com/gitweb/?p=fa-stable.git;a=commitdiff_plain;h=3df0648d1513215ea28378e679d4291d3e609ba6 Additional db driver fixes, mysqli api set as default regardless of php version. --- diff --git a/admin/db/maintenance_db.inc b/admin/db/maintenance_db.inc index d2a72607..16434ecd 100644 --- a/admin/db/maintenance_db.inc +++ b/admin/db/maintenance_db.inc @@ -299,7 +299,7 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal $table_queries = array(); $sql_errors = array(); - $old_encoding = mysql_client_encoding(); + $old_encoding = db_get_charset($db); ini_set("max_execution_time", "180"); db_query("SET foreign_key_checks=0"); @@ -397,7 +397,7 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal $encoding = 'latin1'; // standard encoding on mysql client } - mysql_set_charset($encoding); + db_set_charset($db, $encoding); /*/ { // for debugging purposes global $path_to_root; @@ -460,7 +460,7 @@ function db_import($filename, $connection, $force=true, $init=true, $protect=fal db_query("SET foreign_key_checks=1"); if ($delimiter != ';') db_query("delimiter ;"); // just for any case - mysql_set_charset($old_encoding); // restore connection encoding + db_set_charset($db, $old_encoding); // restore connection encoding if (count($sql_errors)) { if ($return_errors) diff --git a/includes/db/connect_db.inc b/includes/db/connect_db.inc index e899eac7..20ce648f 100644 --- a/includes/db/connect_db.inc +++ b/includes/db/connect_db.inc @@ -12,10 +12,10 @@ //$path_to_root=".."; -if (strncmp(phpversion(), "5.4", 3) >= 0) // mysql_... functions deprecated from php 5.5 +if (function_exists('mysqli_connect')) include_once("connect_db_mysqli.inc"); -else - include_once("connect_db_mysql.inc"); +else + include_once("connect_db_mysql.inc"); // use deprecated mysql_* API as fallback on old servers function db_get_version() { @@ -109,7 +109,7 @@ function db_fixed() /* Check database default charset. */ -function db_get_charset() +function db_get_default_charset() { $result = db_query("SELECT @@character_set_database"); $var = db_fetch($result); diff --git a/includes/db/connect_db_mysql.inc b/includes/db/connect_db_mysql.inc index 4c225796..de03a643 100644 --- a/includes/db/connect_db_mysql.inc +++ b/includes/db/connect_db_mysql.inc @@ -14,7 +14,7 @@ function set_global_connection($company=-1) { global $db, $transaction_level, $path_to_root, $db_connections; - include ($path_to_root . "/config_db.php"); + include ($path_to_rrot . "/config_db.php"); if ($company == -1) $company = $_SESSION["wa_current_user"]->company; @@ -264,4 +264,12 @@ function db_set_encoding($ui_encoding=null) mysql_set_charset($mysql_enc); } -?> \ No newline at end of file +function db_get_charset($db) +{ + return mysql_client_encoding(); +} + +function db_set_charset($db, $charset) +{ + return mysql_set_charset($charset, $db); +} diff --git a/includes/db/connect_db_mysqli.inc b/includes/db/connect_db_mysqli.inc index e8f5395a..c5c1d69b 100644 --- a/includes/db/connect_db_mysqli.inc +++ b/includes/db/connect_db_mysqli.inc @@ -264,4 +264,14 @@ function db_set_encoding($ui_encoding=null) mysqli_set_charset($db, $mysql_enc); } -?> \ No newline at end of file +function db_get_charset($db) +{ + return mysqli_character_set_name($db); +} + +function db_set_charset($db, $charset) +{ + global $db; + + return mysqli_set_charset($db, $charset); +}