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)

---
 program/include/rcube_mdb2.php |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php
index 137ffb2..aca44c9 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -266,8 +266,9 @@
         $this->db_error = TRUE;
         $this->db_error_msg = $q->userinfo;
 
-        raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__,
-                          'message' => $this->db_error_msg), TRUE, TRUE);
+        raise_error(array('code' => 500, 'type' => 'db',
+	  'line' => __LINE__, 'file' => __FILE__,
+          'message' => $this->db_error_msg), TRUE, TRUE);
         }
       else
         {
@@ -330,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;
@@ -626,7 +632,8 @@
       {
       $this->db_error = TRUE;
       $this->db_error_msg = $res->getMessage();
-      raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__,
+      raise_error(array('code' => 500, 'type' => 'db',
+    	    'line' => __LINE__, 'file' => __FILE__,
     	    'message' => $res->getMessage() . " Query: " 
 	    . substr(preg_replace('/[\r\n]+\s*/', ' ', $res->userinfo), 0, 512)),
 	    TRUE, FALSE);

--
Gitblit v1.9.1