[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] phpgwapi/inc/class.db.inc.php, 1.6.4.5.2.1
From: |
nomail |
Subject: |
[Phpgroupware-cvs] phpgwapi/inc/class.db.inc.php, 1.6.4.5.2.1 |
Date: |
Thu, 30 Dec 2004 05:51:47 +0100 |
Update of /phpgwapi/inc
Modified Files:
Branch: proposed-0_9_18-branch
class.db.inc.php
date: 2004/12/30 04:51:47; author: skwashd; state: Exp; lines: +180 -119
Log Message:
switch to ADOdb
=====================================================================
Index: phpgwapi/inc/class.db.inc.php
diff -u phpgwapi/inc/class.db.inc.php:1.6.4.5
phpgwapi/inc/class.db.inc.php:1.6.4.5.2.1
--- phpgwapi/inc/class.db.inc.php:1.6.4.5 Tue Feb 10 13:51:17 2004
+++ phpgwapi/inc/class.db.inc.php Thu Dec 30 04:51:47 2004
@@ -19,8 +19,7 @@
/**
* Include concrete database implementation
*/
-
include(PHPGW_API_INC.'/class.db_'.$GLOBALS['phpgw_info']['server']['db_type'].'.inc.php');
-
+ include(PHPGW_API_INC.'/adodb/adodb.inc.php');
/**
* Database abstraction class to allow phpGroupWare to use multiple
database backends
@@ -29,91 +28,29 @@
* @subpackage database
* @abstract
*/
- class db_
+ class db
{
- /**
- * @var string $Host database host to connect to
- */
- var $Host = '';
-
- /**
- * @var string $Database name of database to use
- */
- var $Database = '';
-
- /**
- * @var string $User name of database user
- */
- var $User = '';
-
- /**
- * @var string $Password password for database user
- */
- var $Password = '';
- /**
- * @var bool $auto_stripslashes automatically remove slashes
when returning field values - default False
- */
- var $auto_stripslashes = False;
-
- /**
- * @var int $Auto_Free automatically free results - 0 no, 1 yes
- */
- var $Auto_Free = 0;
-
- /**
- * @var int $Debug enable debuging - 0 no, 1 yes
- */
- var $Debug = 0;
-
- /**
- * @var string $Halt_On_Error "yes" (halt with message), "no"
(ignore errors quietly), "report" (ignore errror, but spit a warning)
- */
- var $Halt_On_Error = 'yes';
-
- /**
- * @var string $Seq_Table table for storing sequences ????
- */
- var $Seq_Table = 'db_sequence';
-
- /**
- * @var array $Record current record
- */
- var $Record = array();
-
- /**
- * @var int row number for current record
- */
- var $Row;
-
- /**
- * @var int $Errno internal rdms error number for last error
- */
- var $Errno = 0;
-
- /**
- * @var string descriptive text from last error
- */
- var $Error = '';
-
- /**
- * @var boolean XMLRPC available
- * @access private
- */
- var $xmlrpc = False;
- /**
- * @var boolean SOAP available
- * @access private
- */
- var $soap = False;
+ var $Host;
+ var $Type;
+ var $Database;
+ var $User;
+ var $Password;
+ var $debug = 0;
+ var $Halt_On_Error = 'yes'; // should be true or false
/**
* Constructor
* @param string $query query to be executed (optional)
*/
- function db_($query = '')
+ function db($query = '')
{
- $this->query($query);
+ $this->adodb =
NewADOConnection($GLOBALS['phpgw_info']['server']['db_type']);
+ if($query != '')
+ {
+ echo "wtf: db";
+ $this->query($query);
+ }
}
/**
@@ -122,7 +59,12 @@
*/
function link_id()
{
- return $this->Link_ID;
+ //echo "link_id: depricated";
+ if(!$this->adodb->isConnected())
+ {
+ $this->connect();
+ }
+ return $this->adodb->_connectionID;
}
/**
@@ -131,6 +73,8 @@
*/
function query_id()
{
+ echo "query_id: depricated";
+ die('you really need this method?');
return $this->Query_ID;
}
@@ -143,13 +87,23 @@
* @param string $Password password for database user (optional)
*/
function connect($Database = '', $Host = '', $User = '',
$Password = '')
- {}
+ {
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: connect";
+ $this->Database = $Database != '' ? $Database :
$this->Database;
+ $this->Host = $Host != '' ? $Host : $this->Host;
+ $this->User = $User != '' ? $User : $this->User;
+ $this->Password = $Password != '' ? $Password :
$this->Password;
+ return $this->adodb->connect($this->Host, $this->User,
$this->Password, $this->Database);
+ }
/**
* Close a connection to a database - only needed for persistent
connections
*/
function disconnect()
- {}
+ {
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"disconnect: depricated";
+ $this->adodb->close();
+ }
/**
* Escape strings before sending them to the database
@@ -159,12 +113,12 @@
*/
function db_addslashes($str)
{
- if (!isset($str) || $str == '')
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"to_timestanp: db_addsl";
+ if(!$this->adodb) //workaround
{
- return '';
+ return addslashes($str);
}
-
- return addslashes($str);
+ return substr($this->adodb->qstr($str,
get_magic_quotes_gpc()), 1, -1);
}
/**
@@ -174,7 +128,10 @@
* @return string rdms specific timestamp
*/
function to_timestamp($epoch)
- {}
+ {
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"to_timestanp: depricated";
+ return substr($this->adodb->DBTimeStamp($epoch), 1, -1);
+ }
/**
* Convert a rdms specific timestamp to a unix timestamp
@@ -183,7 +140,10 @@
* @return int unix timestamp
*/
function from_timestamp($timestamp)
- {}
+ {
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"from_timestanp: depricated";
+ return $this->adodb->UnixTimeStamp($timestamp);
+ }
/**
* Execute a query with limited result set
@@ -192,13 +152,20 @@
* @see limit_query()
*/
function limit($start)
- {}
+ {
+ if($debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: limit";
+ die('where is the sql string?');
+ }
/**
* Discard the current query result
*/
function free()
- {}
+ {
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: limit";
+ unset($this->resultSet);
+ return true;
+ }
/**
* Execute a query
@@ -209,7 +176,26 @@
* @return integer current query id if sucesful and null if fails
*/
function query($Query_String, $line = '', $file = '')
- {}
+ {
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"query: depricated: $Query_String <br>";
+ if(!$this->adodb->isConnected())
+ {
+ $this->connect();
+ }
+ $this->resultSet = $this->adodb->Execute($Query_String);
+ if(!$this->resultSet && $this->Halt_On_Error == 'yes')
+ {
+ echo $Query_String.'<br>';
+ echo $this->adodb->ErrorMsg();
+ _debug_array(debug_backtrace());
+ die();
+ }
+ else
+ {
+ $this->delayPointer = true;
+ return true;
+ }
+ }
/**
* Execute a query with limited result set
@@ -221,8 +207,27 @@
* @param integer $num_rows number of rows to return (optional),
if unset will use
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']
* @return integer current query id if sucesful and null if fails
*/
- function limit_query($Query_String, $offset, $line = '', $file
= '', $num_rows = '')
- {}
+ function limit_query($Query_String, $offset = -1, $line = '',
$file = '', $num_rows = -1)
+ {
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: limit_query";
+ if(!$this->adodb->isConnected())
+ {
+ $this->connect();
+ }
+ $this->resultSet =
$this->adodb->SelectLimit($Query_String, $num_rows, $offset);
+ if(!$this->resultSet && $this->Halt_On_Error == 'yes')
+ {
+ echo "$Query_String<br>";
+ print $this->adodb->ErrorMsg();
+ _debug_array(debug_backtrace());
+ die();
+ }
+ else
+ {
+ $this->delayPointer = true;
+ return true;
+ }
+ }
/**
* Move to the next row in the results set
@@ -230,7 +235,23 @@
* @return bool was another row found?
*/
function next_record()
- {}
+ {
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: next_record<br>";
+ if($this->resultSet && $this->resultSet->RecordCount())
+ {
+ if($this->delayPointer)
+ {
+ $this->delayPointer = false;
+ return true;
+ }
+
+ if(!$this->resultSet->EOF)
+ {
+ return $this->resultSet->MoveNext();
+ }
+ }
+ return false;
+ }
/**
* Move to position in result set
@@ -239,7 +260,14 @@
* @return int 1 if sucessful or 0 if not found
*/
function seek($pos = 0)
- {}
+ {
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: seek";
+ if($this->resultSet)
+ {
+ return $this->resultSet->Move($pos);
+ }
+ return false;
+ }
/**
* Begin transaction
@@ -248,7 +276,8 @@
*/
function transaction_begin()
{
- return True;
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
'depricated';
+ return $this->adodb->BeginTrans();
}
/**
@@ -258,7 +287,8 @@
*/
function transaction_commit()
{
- return True;
+ if($this->debug) /* $GLOBALS['phpgw']->log */ echo
"depricated: transaction_commit";
+ return $this->adodb->CommitTrans();
}
/**
@@ -267,7 +297,7 @@
* @return boolean True if sucessful, False if fails
*/
function transaction_abort()
- {
+ {echo "depricated: transaction_abort";
return True;
}
@@ -279,7 +309,10 @@
* @return integer the id, -1 if fails
*/
function get_last_insert_id($table, $field)
- {}
+ {
+ //echo "depricated: get_last_insert_id";
+ return $this->adodb->Insert_ID();
+ }
/**
* Lock a table
@@ -289,7 +322,10 @@
* @return boolean True if sucessful, False if fails
*/
function lock($table, $mode='write')
- {}
+ {
+ //echo "depricated: lock";
+ //$this->adodb->BeginTrans();
+ }
/**
@@ -298,7 +334,10 @@
* @return boolean True if sucessful, False if fails
*/
function unlock()
- {}
+ {
+ //echo "depricated: unlock";
+ //$this->adodb->CommitTrans();
+ }
/**
* Get the number of rows affected by last update
@@ -306,7 +345,10 @@
* @return integer number of rows
*/
function affected_rows()
- {}
+ {
+ //echo "depricated: affected_rows";
+ return $this->adodb->Affected_Rows();
+ }
/**
* Number of rows in current result set
@@ -314,7 +356,14 @@
* @return integer number of rows
*/
function num_rows()
- {}
+ {
+ //echo "depricated: num_rows";
+ if($this->resultSet)
+ {
+ return $this->resultSet->RecordCount();
+ }
+ return 0;
+ }
/**
* Number of fields in current row
@@ -323,7 +372,7 @@
*/
function num_fields()
- {}
+ {echo "depricated: num_fields";}
/**
* Short hand for num_rows()
@@ -331,7 +380,7 @@
* @see num_rows()
*/
function nf()
- {
+ {echo "depricated: nf";
return $this->num_rows();
}
@@ -339,7 +388,7 @@
* Short hand for print @see num_rows
*/
function np()
- {
+ {echo "depricated: np";
print $this->num_rows();
}
@@ -350,15 +399,19 @@
* @param boolean $strip_slashes string escape chars from
field(optional), default false
* @return string the field value
*/
- function f($Name, $strip_slashes = False)
+ function f($name, $strip_slashes = False)
{
- if ($strip_slashes || ($this->auto_stripslashes && !
$strip_slashes))
+ if($this->resultSet && get_class($this->resultSet) !=
'adorecordset_empty')
{
- return stripslashes($this->Record[$Name]);
- }
- else
- {
- return $this->Record[$Name];
+ //echo "depricated: f";
+ if ($strip_slashes || ($this->auto_stripslashes
&& ! $strip_slashes))
+ {
+ return
stripslashes($this->resultSet->Fields($name));
+ }
+ else
+ {
+ return $this->resultSet->Fields($name);
+ }
}
}
@@ -370,6 +423,7 @@
*/
function p($Name, $strip_slashes = True)
{
+ echo "depi: p";
print $this->f($Name, $strip_slashes);
}
@@ -380,7 +434,7 @@
* @return integer sequence id
*/
function nextid($seq_name)
- {}
+ { echo "depi: nextid";}
/**
* Get description of a table
@@ -391,6 +445,7 @@
*/
function metadata($table = '',$full = false)
{
+ echo "depi: metadata";
/*
* Due to compatibility problems with Table we changed
the behavior
* of metadata();
@@ -426,7 +481,7 @@
* @param string $file file of calling method/function (optional)
*/
function halt($msg, $line = '', $file = '')
- {}
+ { echo "depi: halt";}
/**
* Get a list of table names in the current database
@@ -434,7 +489,11 @@
* @return array list of the tables
*/
function table_names()
- {}
+ {
+ //echo "depi: table_names";
+ //_debug_array(debug_backtrace());
+ return $this->adodb->MetaTables('TABLES');
+ }
/**
* Return a list of indexes in current database
@@ -443,6 +502,7 @@
*/
function index_names()
{
+ echo "depi: index_names";
return array();
}
@@ -453,7 +513,7 @@
* @param string $adminpasswd Password for the database
administrator user (optional)
*/
function create_database($adminname = '', $adminpasswd = '')
- {}
+ { echo "depi: create_database";}
/**
@@ -465,6 +525,7 @@
*/
function prepare_sql_statement($query)
{
+ echo "depi";
if (($query == '') || (!$this->connect()))
{
return(FALSE);
@@ -488,6 +549,6 @@
}
return(FALSE);
}
-
+
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] phpgwapi/inc/class.db.inc.php, 1.6.4.5.2.1,
nomail <=