From cbde304b98e4e0fc2ff33fd84068d63ae3e86c45 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 01 Apr 2010 02:25:29 -0400
Subject: [PATCH] - Use MDB2's Manager module for listing tables

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

diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php
index 2f4ea26..876659c 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -404,19 +404,11 @@
   {
     // get tables if not cached
     if (!$this->tables) {
-      $this->tables = array();
-
-      switch ($this->db_provider) {
-        case 'sqlite':
-          $result = $this->db_handle->query("SELECT name FROM sqlite_master WHERE type='table'");
-          break;
-        default:
-          $result = $this->db_handle->query("SHOW TABLES");
-      }
-
-      if ($result !== false && !PEAR::isError($result))
-        while ($rec = $result->fetchRow(MDB2_FETCHMODE_ORDERED))
-          $this->tables[] = $rec[0];
+      $this->db_handle->loadModule('Manager');
+      if (!PEAR::isError($result = $this->db_handle->listTables()))
+        $this->tables = $result;
+      else
+        $this->tables = array();
     }
 
     return $this->tables;

--
Gitblit v1.9.1