From e1ac217397bfc23a5c059aaa12bba8c1fc018cbb Mon Sep 17 00:00:00 2001 From: alecpl Date: Wed, 3 Feb 2010 11:16:18 +0000 Subject: - Fix inconsistency when not using default table names (#1486467) --- CHANGELOG | 1 + program/include/main.inc | 2 +- program/include/rcube_mdb2.php | 13 +++++++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 733675c87..5a8d3a4ab 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix inconsistency when not using default table names (#1486467) - Fix folder rename/delete buttons do not appear on creation of first folder (#1486468) - Fix character set conversion fails on systems where iconv doesn't accept //IGNORE (#1486375) - Login preformance: Create default folders on first login only diff --git a/program/include/main.inc b/program/include/main.inc index 31e4ab558..944cdf708 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -69,7 +69,7 @@ function get_table_name($table) */ function get_sequence_name($sequence) { - // return table name if configured + // return sequence name if configured $config_key = 'db_sequence_'.$sequence; $opt = rcmail::get_instance()->config->get($config_key); diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php index e8dd7e0a7..aca44c963 100644 --- a/program/include/rcube_mdb2.php +++ b/program/include/rcube_mdb2.php @@ -331,10 +331,15 @@ class rcube_mdb2 if (!$this->db_handle || $this->db_mode=='r') return FALSE; - // find sequence name - if ($table && $this->db_provider == 'pgsql') - $table = get_sequence_name($table); - + if ($table) { + if ($this->db_provider == 'pgsql') + // find sequence name + $table = get_sequence_name($table); + else + // resolve table name + $table = get_table_name($table); + } + $id = $this->db_handle->lastInsertID($table); return $this->db_handle->isError($id) ? null : $id; -- cgit v1.2.3