From b6673c4e416affcfe644473cb8fc6009d04ee971 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 16 Oct 2009 12:25:10 -0400
Subject: [PATCH] - fix regular expression for malformed tags handler

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

diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php
index 12f3c16..5c945d9 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -256,11 +256,11 @@
       $result = $this->db_handle->setLimit($numrows,$offset);
 
     if (empty($params))
-        $result = $this->db_handle->query($query);
+      $result = $mode=='r' ? $this->db_handle->query($query) : $this->db_handle->exec($query);
     else
       {
       $params = (array)$params;
-      $q = $this->db_handle->prepare($query);
+      $q = $this->db_handle->prepare($query, null, $mode=='w' ? MDB2_PREPARE_MANIP : null);
       if ($this->db_handle->isError($q))
         {
         $this->db_error = TRUE;
@@ -321,16 +321,20 @@
    * Get last inserted record ID
    * For Postgres databases, a sequence name is required
    *
-   * @param  string  Sequence name for increment
+   * @param  string  Table name (to find the incremented sequence)
    * @return mixed   ID or FALSE on failure
    * @access public
    */
-  function insert_id($sequence = '')
+  function insert_id($table = '')
     {
     if (!$this->db_handle || $this->db_mode=='r')
       return FALSE;
 
-    $id = $this->db_handle->lastInsertID($sequence);
+    // find sequence name
+    if ($table && $this->db_provider == 'pgsql')
+      $table = get_sequence_name($table);
+
+    $id = $this->db_handle->lastInsertID($table);
     
     return $this->db_handle->isError($id) ? null : $id;
     }

--
Gitblit v1.9.1