|
|
@ -35,8 +35,6 @@
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
class rcube_mdb2
|
|
|
|
class rcube_mdb2
|
|
|
|
{
|
|
|
|
{
|
|
|
|
private static $tables;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var $db_dsnw; // DSN for write operations
|
|
|
|
var $db_dsnw; // DSN for write operations
|
|
|
|
var $db_dsnr; // DSN for read operations
|
|
|
|
var $db_dsnr; // DSN for read operations
|
|
|
|
var $db_connected = false; // Already connected ?
|
|
|
|
var $db_connected = false; // Already connected ?
|
|
|
@ -49,6 +47,8 @@ class rcube_mdb2
|
|
|
|
var $a_query_results = array('dummy');
|
|
|
|
var $a_query_results = array('dummy');
|
|
|
|
var $last_res_id = 0;
|
|
|
|
var $last_res_id = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private $tables;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Object constructor
|
|
|
|
* Object constructor
|
|
|
@ -403,8 +403,8 @@ class rcube_mdb2
|
|
|
|
function list_tables()
|
|
|
|
function list_tables()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// get tables if not cached
|
|
|
|
// get tables if not cached
|
|
|
|
if (!self::$tables) {
|
|
|
|
if (!$this->tables) {
|
|
|
|
self::$tables = array();
|
|
|
|
$this->tables = array();
|
|
|
|
|
|
|
|
|
|
|
|
switch ($this->db_provider) {
|
|
|
|
switch ($this->db_provider) {
|
|
|
|
case 'sqlite':
|
|
|
|
case 'sqlite':
|
|
|
@ -416,10 +416,10 @@ class rcube_mdb2
|
|
|
|
|
|
|
|
|
|
|
|
if ($result !== false && !PEAR::isError($result))
|
|
|
|
if ($result !== false && !PEAR::isError($result))
|
|
|
|
while ($rec = $result->fetchRow(MDB2_FETCHMODE_ORDERED))
|
|
|
|
while ($rec = $result->fetchRow(MDB2_FETCHMODE_ORDERED))
|
|
|
|
self::$tables[] = $rec[0];
|
|
|
|
$this->tables[] = $rec[0];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return self::$tables;
|
|
|
|
return $this->tables;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|