From e1ac217397bfc23a5c059aaa12bba8c1fc018cbb Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 03 Feb 2010 06:16:18 -0500
Subject: [PATCH] - Fix inconsistency when not using default table names (#1486467)

---
 CHANGELOG                      |    1 +
 program/include/rcube_mdb2.php |   13 +++++++++----
 program/include/main.inc       |    2 +-
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 733675c..5a8d3a4 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 31e4ab5..944cdf7 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -69,7 +69,7 @@
  */
 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 e8dd7e0..aca44c9 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -331,10 +331,15 @@
     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;

--
Gitblit v1.9.1