From 66407a75d1eced92d0bd725caa028f54a3b345be Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sat, 8 Jun 2013 19:53:04 +0200 Subject: Fix date format issues on MS SQL Server (#1488918) --- CHANGELOG | 1 + program/lib/Roundcube/rcube_db.php | 4 +++- program/lib/Roundcube/rcube_db_mssql.php | 12 ++++++++++++ program/lib/Roundcube/rcube_db_sqlsrv.php | 12 ++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index f986e2541..a601dd2a0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix date format issues on MS SQL Server (#1488918) - Fix so non-inline images aren't skipped on forward (#1489150) - Add imap_cache_ttl option to configure TTL of imap_cache - Make LDAP cache engine configurable via ldap_cache and ldap_cache_ttl options diff --git a/program/lib/Roundcube/rcube_db.php b/program/lib/Roundcube/rcube_db.php index 086fd66cb..597fa75f9 100644 --- a/program/lib/Roundcube/rcube_db.php +++ b/program/lib/Roundcube/rcube_db.php @@ -368,8 +368,10 @@ class rcube_db */ protected function _query($query, $offset, $numrows, $params) { + $query = trim($query); + // Read or write ? - $mode = preg_match('/^(select|show)/i', ltrim($query)) ? 'r' : 'w'; + $mode = preg_match('/^(select|show|set)/i', $query) ? 'r' : 'w'; $this->db_connect($mode); diff --git a/program/lib/Roundcube/rcube_db_mssql.php b/program/lib/Roundcube/rcube_db_mssql.php index 71317078c..4c005b0d0 100644 --- a/program/lib/Roundcube/rcube_db_mssql.php +++ b/program/lib/Roundcube/rcube_db_mssql.php @@ -45,6 +45,18 @@ class rcube_db_mssql extends rcube_db // UTF-8 is default } + /** + * Driver-specific configuration of database connection + * + * @param array $dsn DSN for DB connections + * @param PDO $dbh Connection handler + */ + protected function conn_configure($dsn, $dbh) + { + // Set date format in case of non-default language (#1488918) + $this->query("SET DATEFORMAT ymd"); + } + /** * Return SQL function for current time and date * diff --git a/program/lib/Roundcube/rcube_db_sqlsrv.php b/program/lib/Roundcube/rcube_db_sqlsrv.php index 9958dc291..88473e213 100644 --- a/program/lib/Roundcube/rcube_db_sqlsrv.php +++ b/program/lib/Roundcube/rcube_db_sqlsrv.php @@ -45,6 +45,18 @@ class rcube_db_sqlsrv extends rcube_db // UTF-8 is default } + /** + * Driver-specific configuration of database connection + * + * @param array $dsn DSN for DB connections + * @param PDO $dbh Connection handler + */ + protected function conn_configure($dsn, $dbh) + { + // Set date format in case of non-default language (#1488918) + $this->query("SET DATEFORMAT ymd"); + } + /** * Return SQL function for current time and date * -- cgit v1.2.3