3 require_once DOL_DOCUMENT_ROOT.
'/core/db/DoliDB.class.php';
27 protected $startMemory;
49 $this->
type = $this->
db->type;
50 $this->queries = array();
61 public function ifsql($test, $resok, $resko)
63 return $this->
db->ifsql($test, $resok, $resko);
76 return $this->
db->fetch_row($resultset);
87 public function idate($param, $gm =
'tzserver')
89 return $this->
db->idate($param, $gm);
99 return $this->
db->lasterrno();
108 public function begin($textinlog =
'')
110 return $this->
db->begin($textinlog);
124 public function DDLCreateDb($database, $charset =
'', $collation =
'', $owner =
'')
126 return $this->
db->DDLCreateDb($database, $charset, $collation, $owner);
136 return $this->
db->getVersionArray();
148 return self::$db->convertSQLFromMysql($line);
162 return $this->
db->affected_rows($resultset);
172 return $this->
db->error();
184 return $this->
db->DDLListTables($database, $table);
194 return $this->
db->lastquery();
204 public function order($sortfield =
null, $sortorder =
null)
206 return $this->
db->order($sortfield, $sortorder);
217 return $this->
db->decrypt($value);
230 return $this->
db->fetch_array($resultset);
240 return $this->
db->lasterror();
251 return $this->
db->escape($stringtoencode);
263 return $this->
db->escapeunderscore($stringtoencode);
274 return str_replace(array(
'_',
'\\',
'%'), array(
'\_',
'\\\\',
'\%'), (
string) $stringtoencode);
288 return $this->
db->last_insert_id($tab, $fieldid);
298 return $this->
db->getPathOfRestore();
309 return $this->
db->rollback($log);
322 public function query($query, $usesavepoint = 0, $type =
'auto', $result_mode = 0)
326 $resql = $this->
db->query($query, $usesavepoint, $type, $result_mode);
340 $this->startTime = microtime(
true);
341 $this->startMemory = memory_get_usage(
true);
353 $endTime = microtime(
true);
354 $duration = $endTime - $this->startTime;
355 $endMemory = memory_get_usage(
true);
356 $memoryDelta = $endMemory - $this->startMemory;
358 $this->queries[] = array(
360 'duration' => $duration,
361 'memory_usage' => $memoryDelta,
362 'is_success' =>
$resql ?
true :
false,
363 'error_code' =>
$resql ?
null : $this->
db->lasterrno(),
364 'error_message' =>
$resql ?
null : $this->db->lasterror()
379 public function connect($host, $login, $passwd, $name, $port = 0)
381 return $this->
db->connect($host, $login, $passwd, $name, $port);
391 public function plimit($limit = 0, $offset = 0)
393 return $this->
db->plimit($limit, $offset);
404 return $this->
db->getServerParametersValues($filter);
415 return $this->
db->getServerStatusValues($filter);
425 return $this->
db->getDefaultCollationDatabase();
439 return $this->
db->num_rows($resultset);
449 return $this->
db->getPathOfDump();
459 return $this->
db->getDriverInfo();
469 return $this->
db->errno();
484 public function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys =
null, $fulltext_keys =
null, $keys =
null)
486 return $this->
db->DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys, $fulltext_keys, $keys);
497 return $this->
db->DDLDropTable($table);
507 return $this->
db->getListOfCharacterSet();
519 public function DDLAddField($table, $field_name, $field_desc, $field_position =
"")
521 return $this->
db->DDLAddField($table, $field_name, $field_desc, $field_position);
533 return $this->
db->DDLDropField($table, $field_name);
546 return $this->
db->DDLUpdateField($table, $field_name, $field_desc);
556 return $this->
db->getListOfCollation();
568 return $this->
db->DDLDescTable($table, $field);
578 return $this->
db->getVersion();
588 return $this->
db->getDefaultCharacterSetDatabase();
600 public function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name)
602 return $this->
db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name);
615 public function jdate($string, $gm =
false)
618 return $this->
db->jdate($string, $gm);
629 public function encrypt($fieldorvalue, $withQuotes = 1)
631 return $this->
db->encrypt($fieldorvalue, $withQuotes);
642 return $this->
db->commit($log);
653 return $this->
db->DDLInfoTable($table);
662 public function free($resultset =
null)
664 $this->
db->free($resultset);
675 return $this->
db->close();
685 return $this->
db->lastqueryerror();
695 return $this->
db->DDLGetConnectId();
708 return $this->
db->fetch_object($resultset);
721 return $this->
db->select_db($database);
Class to manage Dolibarr database access.
escape($stringtoencode)
Escape a string to insert data.
const VERSIONMIN
@const Version min database
jdate($string, $gm=false)
Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -...
static convertSQLFromMysql($line, $type='ddl')
Convert a SQL request in Mysql syntax to native syntax.
begin($textinlog='')
Start transaction.
getDriverInfo()
Return version of database client driver.
free($resultset=null)
Free last resultset used.
getPathOfDump()
Return full path of dump program.
getPathOfRestore()
Return full path of restore program.
select_db($database)
Select a database.
rollback($log='')
Cancel a transaction and go back to initial data values.
encrypt($fieldorvalue, $withQuotes=1)
Encrypt sensitive data in database Warning: This function includes the escape and add the SQL simple ...
order($sortfield=null, $sortorder=null)
Define sort criteria of request.
fetch_array($resultset)
Return datas as an array.
getVersionArray()
Return version of database server into an array.
num_rows($resultset)
Return number of lines for result of a SELECT.
escapeforlike($stringtoencode)
Escape a string to insert data into a like.
commit($log='')
Validate a database transaction.
fetch_row($resultset)
Return datas as an array.
DDLCreateDb($database, $charset='', $collation='', $owner='')
Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We fo...
DDLAddField($table, $field_name, $field_desc, $field_position="")
Create a new field into table.
affected_rows($resultset)
Return the number o flines into the result of a request INSERT, DELETE or UPDATE.
decrypt($value)
Decrypt sensitive data in database.
DDLInfoTable($table)
List information of columns into a table.
lasterror()
Return last error label.
__construct($db)
Constructor.
getDefaultCollationDatabase()
Return collation used in database.
last_insert_id($tab, $fieldid='rowid')
Get last ID after an insert INSERT.
ifsql($test, $resok, $resko)
Format a SQL IF.
getServerParametersValues($filter='')
Return value of server parameters.
DDLGetConnectId()
Return connexion ID.
lastqueryerror()
Return last query in error.
getDefaultCharacterSetDatabase()
Return charset used to store data in database.
getListOfCharacterSet()
Return list of available charset that can be used to store data in database.
endTracing($sql, $resql)
End query tracing.
getListOfCollation()
Return list of available collation that can be used for database.
connect($host, $login, $passwd, $name, $port=0)
Connexion to server.
fetch_object($resultset)
Returns the current line (as an object) for the resultset cursor.
DDLDropField($table, $field_name)
Drop a field from table.
lastquery()
Return last request executed with query()
errno()
Return generic error code of last operation.
DDLDescTable($table, $field="")
Return a pointer of line with description of a table or field.
lasterrno()
Return last error code.
DDLListTables($database, $table='')
List tables into a database.
plimit($limit=0, $offset=0)
Define limits and offset of request.
idate($param, $gm='tzserver')
Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date fiel...
DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null)
Create a table into database.
getServerStatusValues($filter='')
Return value of server status.
startTracing()
Start query tracing.
DDLUpdateField($table, $field_name, $field_desc)
Update format of a field into a table.
close()
Close database connexion.
escapeunderscore($stringtoencode)
Escape a string to insert data.
query($query, $usesavepoint=0, $type='auto', $result_mode=0)
Execute a SQL request and return the resultset.
getVersion()
Return version of database server.
error()
Return description of last error.
const LABEL
@const Database label
DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name)
Create a user and privileges to connect to database (even if database does not exists yet)
DDLDropTable($table)
Drop a table into database.
if(isModEnabled('facture') &&!empty($user->rights->facture->lire)) if((isModEnabled('fournisseur') &&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') &&!empty($user->rights->don->lire)) if(isModEnabled('tax') &&!empty($user->rights->tax->charges->lire)) if(isModEnabled('facture') &&isModEnabled('commande') && $user->hasRight("commande", "lire") &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) $resql
Social contributions to pay.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
$conf db
API class for accounts.