From 1bdb16ed64342cbfff7646b20e7da7dfefa1927f Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Tue, 11 Apr 2017 21:49:43 -0400 Subject: [PATCH] Update database/database_mysqli for api,internal-api,cron --- api/core/database.inc.php | 33 +++++++++++++++++++++- api/core/database_mysqli.inc.php | 31 +++++++++++++++++++++ cron/core/database.inc.php | 34 ++++++++++++++++++++++- cron/core/database_mysqli.inc.php | 31 +++++++++++++++++++++ internal-api/core/database.inc.php | 33 +++++++++++++++++++++- internal-api/core/database_mysqli.inc.php | 31 +++++++++++++++++++++ 6 files changed, 190 insertions(+), 3 deletions(-) diff --git a/api/core/database.inc.php b/api/core/database.inc.php index c56381e6..4b1e902f 100755 --- a/api/core/database.inc.php +++ b/api/core/database.inc.php @@ -33,7 +33,25 @@ *******************************************************************************/ /* Check if this is a valid include */ -if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +if (!defined('IN_SCRIPT')) {die('Invalid attempt');} + + +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() function hesk_dbSetNames() @@ -77,6 +95,16 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -143,6 +171,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect() diff --git a/api/core/database_mysqli.inc.php b/api/core/database_mysqli.inc.php index b52122aa..325c9871 100755 --- a/api/core/database_mysqli.inc.php +++ b/api/core/database_mysqli.inc.php @@ -36,6 +36,24 @@ if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() + + function hesk_dbSetNames() { global $hesk_settings, $hesk_db_link; @@ -77,6 +95,16 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -136,6 +164,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect() diff --git a/cron/core/database.inc.php b/cron/core/database.inc.php index 885278d6..9e83ce46 100755 --- a/cron/core/database.inc.php +++ b/cron/core/database.inc.php @@ -33,7 +33,25 @@ *******************************************************************************/ /* Check if this is a valid include */ -if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +if (!defined('IN_SCRIPT')) {die('Invalid attempt');} + + +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() function hesk_dbSetNames() @@ -77,6 +95,17 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -142,6 +171,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect() diff --git a/cron/core/database_mysqli.inc.php b/cron/core/database_mysqli.inc.php index f1746a2a..eb3dce44 100755 --- a/cron/core/database_mysqli.inc.php +++ b/cron/core/database_mysqli.inc.php @@ -36,6 +36,24 @@ if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() + + function hesk_dbSetNames() { global $hesk_settings, $hesk_db_link; @@ -77,6 +95,16 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -137,6 +165,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect() diff --git a/internal-api/core/database.inc.php b/internal-api/core/database.inc.php index c56381e6..4b1e902f 100755 --- a/internal-api/core/database.inc.php +++ b/internal-api/core/database.inc.php @@ -33,7 +33,25 @@ *******************************************************************************/ /* Check if this is a valid include */ -if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +if (!defined('IN_SCRIPT')) {die('Invalid attempt');} + + +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() function hesk_dbSetNames() @@ -77,6 +95,16 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -143,6 +171,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect() diff --git a/internal-api/core/database_mysqli.inc.php b/internal-api/core/database_mysqli.inc.php index 96cabfc6..5444ab39 100755 --- a/internal-api/core/database_mysqli.inc.php +++ b/internal-api/core/database_mysqli.inc.php @@ -36,6 +36,24 @@ if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +function hesk_dbCollate() +{ + global $hesklang; + + // MySQL vesions prior to 5.6 don't support some collations + if ( in_array($hesklang['_COLLATE'], array('utf8_croatian_ci', 'utf8_german2_ci', 'utf8_vietnamese_ci')) ) + { + if ( version_compare( hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ), '5.6', '<') ) + { + $hesklang['_COLLATE'] = 'utf8_general_ci'; + } + } + + return hesk_dbEscape($hesklang['_COLLATE']); + +} // END hesk_dbCollate() + + function hesk_dbSetNames() { global $hesk_settings, $hesk_db_link; @@ -77,6 +95,16 @@ function hesk_dbTime() } // END hesk_dbTime() +function hesk_dbSetTimezone() +{ + global $hesk_settings; + + hesk_dbQuery('SET time_zone = "'.hesk_timeToHHMM(date('Z')).'"'); + + return true; +} // END hesk_dbSetTimezone() + + function hesk_dbEscape($in) { global $hesk_db_link; @@ -136,6 +164,9 @@ function hesk_dbConnect() // Check MySQL/PHP version and set encoding to utf8 hesk_dbSetNames(); + // Set the correct timezone + hesk_dbSetTimezone(); + return $hesk_db_link; } // END hesk_dbConnect()