From 67be9a1d5cac6c147512089c5d539d3cfffa09cc Mon Sep 17 00:00:00 2001 From: garvinhicking Date: Fri, 9 Jun 2006 09:32:30 +0000 Subject: [PATCH] Put dbCharset option into local config file. --- docs/NEWS | 6 ++++++ include/db/mysql.inc.php | 5 ++++- include/db/mysqli.inc.php | 7 +++++-- include/functions_installer.inc.php | 1 + .../serendipity_event_statistics.php | 14 +++++++++++--- serendipity_config.inc.php | 2 +- 6 files changed, 28 insertions(+), 7 deletions(-) diff --git a/docs/NEWS b/docs/NEWS index 54d4139..72cf0b4 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -1,5 +1,11 @@ # $Id$ +Version 1.1-alpha7() +------------------------------------------------------------------------ + + * Move the DB charset option to serendipity_config_local.inc.php to + issue propper DB connections instantly. (garvinhicking) + Version 1.1-alpha6() ------------------------------------------------------------------------ diff --git a/include/db/mysql.inc.php b/include/db/mysql.inc.php index 49393b3..539fc29 100644 --- a/include/db/mysql.inc.php +++ b/include/db/mysql.inc.php @@ -271,7 +271,10 @@ function serendipity_db_connect() { function serendipity_db_reconnect() { global $serendipity; - if (defined('SQL_CHARSET') && $serendipity['dbNames']) { + if (isset($serendipity['dbCharset'])) { + mysql_query("SET NAMES " . $serendipity['dbCharset'], $serendipity['dbConn']); + define('SQL_CHARSET_INIT', true); + } elseif (defined('SQL_CHARSET') && $serendipity['dbNames'] && !defined('SQL_CHARSET_INIT')) { mysql_query("SET NAMES " . SQL_CHARSET, $serendipity['dbConn']); } } diff --git a/include/db/mysqli.inc.php b/include/db/mysqli.inc.php index fd13abd..bf2ba3a 100644 --- a/include/db/mysqli.inc.php +++ b/include/db/mysqli.inc.php @@ -240,8 +240,11 @@ function serendipity_db_connect() { function serendipity_db_reconnect() { global $serendipity; - if (defined('SQL_CHARSET') && $serendipity['dbNames']) { - mysqli_query($serendipity['dbConn'], "SET NAMES " . SQL_CHARSET); + if (isset($serendipity['dbCharset'])) { + mysqli_query($serendipity['dbConn'], "SET NAMES " . $serendipity['dbCharset']); + define('SQL_CHARSET_INIT', true); + } elseif (defined('SQL_CHARSET') && $serendipity['dbNames'] && !defined('SQL_CHARSET_INIT')) { + mysqli_query($serendipity['dbConn'], "SET NAMES " . SQL_CHARSET, $serendipity['dbConn']); } } diff --git a/include/functions_installer.inc.php b/include/functions_installer.inc.php index 01281ae..9eb6101 100644 --- a/include/functions_installer.inc.php +++ b/include/functions_installer.inc.php @@ -107,6 +107,7 @@ function serendipity_updateLocalConfig($dbName, $dbPrefix, $dbHost, $dbUser, $db fwrite($configfp, "\t\$serendipity['dbPass'] = '" . addslashes($dbPass) . "';\n"); fwrite($configfp, "\t\$serendipity['dbType'] = '" . addslashes($dbType) . "';\n"); fwrite($configfp, "\t\$serendipity['dbPersistent'] = ". (serendipity_db_bool($dbPersistent) ? 'true' : 'false') .";\n"); + fwrite($configfp, "\t\$serendipity['dbCharset'] = '" . addslashes(SQL_CHARSET) . "';\n"); if (is_array($privateVariables) && count($privateVariables) > 0) { foreach($privateVariables AS $p_idx => $p_val) { diff --git a/plugins/serendipity_event_statistics/serendipity_event_statistics.php b/plugins/serendipity_event_statistics/serendipity_event_statistics.php index 64960a2..a766852 100644 --- a/plugins/serendipity_event_statistics/serendipity_event_statistics.php +++ b/plugins/serendipity_event_statistics/serendipity_event_statistics.php @@ -110,6 +110,10 @@ class serendipity_event_statistics extends serendipity_event if (!is_array($tableChecker)) { $this->createTables(); } + + if ($this->get_config('db_indices_created', 'false') !== '1') { + $this->updateTables(); + } //Unique visitors are beeing registered and counted here. Calling function below. $sessionChecker = serendipity_db_query("SELECT count(sessID) FROM {$serendipity['dbPrefix']}visitors WHERE '".serendipity_db_escape_string(session_id())."' = sessID GROUP BY sessID", true); @@ -914,6 +918,10 @@ class serendipity_event_statistics extends serendipity_event )"; serendipity_db_schema_import($q); + $this->updateTables(); + } //end of function createTables() + + function updateTables() { //create indices $q = "CREATE INDEX visitorses ON {$serendipity['dbPrefix']}visitors(sessID);"; serendipity_db_schema_import($q); @@ -921,10 +929,10 @@ class serendipity_event_statistics extends serendipity_event serendipity_db_schema_import($q); $q = "CREATE INDEX visitortime ON {$serendipity['dbPrefix']}visitors(time);"; serendipity_db_schema_import($q); - $q = "CREATE INDEX visitortime ON {$serendipity['dbPrefix']}visitors_count(year, month, day);"; + $q = "CREATE INDEX visitortimeb ON {$serendipity['dbPrefix']}visitors_count(year, month, day);"; serendipity_db_schema_import($q); - - } //end of function createTables() + $this->set_config('db_indices_created', '1'); + } function dropTables() { diff --git a/serendipity_config.inc.php b/serendipity_config.inc.php index 99c6f07..c779346 100644 --- a/serendipity_config.inc.php +++ b/serendipity_config.inc.php @@ -27,7 +27,7 @@ if (IS_installed === true && !defined('IN_serendipity')) { include(S9Y_INCLUDE_PATH . 'include/compat.inc.php'); // The version string -$serendipity['version'] = '1.1-alpha6'; +$serendipity['version'] = '1.1-alpha7'; // Setting this to 'false' will enable debugging output. All alpa/beta/cvs snapshot versions will emit debug information by default. To increase the debug level (to enable Smarty debugging), set this flag to 'debug'. $serendipity['production'] = (preg_match('@\-(alpha|beta|cvs)@', $serendipity['version']) ? false : true); -- 2.39.5