2
0
forked from Wavyzz/dolibarr

Doc: Complment doxygen sur le role des fonctions.

This commit is contained in:
Laurent Destailleur
2004-11-07 13:26:30 +00:00
parent 1a433331e5
commit 0725c06ad9
2 changed files with 154 additions and 147 deletions

View File

@@ -38,7 +38,8 @@
Ensemble des fonctions permettant de g<>rer la database de dolibarr Ensemble des fonctions permettant de g<>rer la database de dolibarr
*/ */
class DoliDb { class DoliDb
{
var $db, $results, $ok, $connected, $database_selected; var $db, $results, $ok, $connected, $database_selected;
// Constantes pour code erreurs // Constantes pour code erreurs
@@ -46,19 +47,16 @@ class DoliDb {
var $ERROR_TABLEEXISTS=1050; var $ERROR_TABLEEXISTS=1050;
/*! /*!
\brief Ouverture d'une connection vers le serveur et/ou une database. \brief Ouverture d'une connection vers le serveur et <20>ventuellement une database.
\param type type de base de donn<6E>es (mysql ou pgsql) \param type type de base de donn<6E>es (mysql ou pgsql)
\param host addresse de la base de donn<6E>es \param host addresse de la base de donn<6E>es
\param user nom de l'utilisateur autoris<69> \param user nom de l'utilisateur autoris<69>
\param pass mot de passe \param pass mot de passe
\param name nom de la database \param name nom de la database
\return int 1 en cas de succ<63>s, 0 sinon
*/ */
function DoliDb($type = 'mysql', $host = '', $user = '', $pass = '', $name = '') function DoliDb($type = 'mysql', $host = '', $user = '', $pass = '', $name = '')
// Se connecte au serveur et <20>ventuellement <20> une base (si sp<73>cifi<66>)
// Renvoie 1 en cas de succ<63>s, 0 sinon
{ {
global $conf; global $conf;
@@ -139,7 +137,7 @@ class DoliDb {
\param host addresse de la base de donn<6E>es \param host addresse de la base de donn<6E>es
\param login nom de l'utilisateur autoris<69> \param login nom de l'utilisateur autoris<69>
\param passwd mot de passe \param passwd mot de passe
\return resource \return resource handler d'acc<63>s <20> la base
*/ */
function connect($host, $login, $passwd) function connect($host, $login, $passwd)
@@ -184,7 +182,7 @@ class DoliDb {
\param host addresse de la base de donn<6E>es \param host addresse de la base de donn<6E>es
\param login nom de l'utilisateur autoris<69> \param login nom de l'utilisateur autoris<69>
\param passwd mot de passe \param passwd mot de passe
\return resource \return resource handler d'acc<63>s <20> la base
*/ */
function pconnect($host, $login, $passwd) function pconnect($host, $login, $passwd)
@@ -326,7 +324,7 @@ class DoliDb {
\brief d<>fini les limites de la requ<71>te. \brief d<>fini les limites de la requ<71>te.
\param limit \param limit
\param offset \param offset
\return limit \return int limite
*/ */
function plimit($limit=0,$offset=0) function plimit($limit=0,$offset=0)
@@ -395,8 +393,10 @@ class DoliDb {
/*! /*!
\brief Renvoie le nombre de lignes dans le resultat de la requete. \brief Renvoie le nombre de lignes dans le
\return int resultat d'une requete SELECT
\seealso affected_rows
\return int nombre de lignes
*/ */
function num_rows() function num_rows()
@@ -404,6 +404,21 @@ class DoliDb {
return mysql_num_rows($this->results); return mysql_num_rows($this->results);
} }
/*!
\brief Renvoie le nombre de lignes dans le
resultat d'une requete INSERT, DELETE ou UPDATE
\seealso num_rows
\return int nombre de lignes
*/
function affected_rows()
{
// mysql necessite un link de base pour cette fonction contrairement
// a pqsql qui prend un resultset
return mysql_affected_rows($this->db);
}
/*! /*!
\brief Renvoie le nombre de champs dans le resultat de la requete. \brief Renvoie le nombre de champs dans le resultat de la requete.
\return int \return int
@@ -415,7 +430,7 @@ class DoliDb {
} }
/*! /*!
\brief renvoie la derniere requete soumise par la methode query() \brief Renvoie la derniere requete soumise par la methode query()
\return lastquery \return lastquery
*/ */
@@ -425,7 +440,7 @@ class DoliDb {
} }
/*! /*!
\brief renvoie le texte de l'erreur mysql de l'operation precedente. \brief Renvoie le texte de l'erreur mysql de l'operation precedente.
\return error_text \return error_text
*/ */
@@ -435,7 +450,9 @@ class DoliDb {
} }
/*! /*!
\brief renvoie la valeur numerique de l'erreur mysql de l'operation precedente. \brief Renvoie la valeur numerique de l'erreur de l'operation precedente.
pour etre exploiter par l'appelant et d<>tecter les erreurs du genre:
echec car doublons, table deja existante...
\return error_num \return error_num
*/ */
@@ -457,17 +474,6 @@ class DoliDb {
return mysql_insert_id($this->db); return mysql_insert_id($this->db);
} }
/*!
\brief Obtient le nombre de lignes affect<63>es dans la pr<70>c<EFBFBD>dente op<6F>ration.
\return rows
*/
function affected_rows()
{
return mysql_affected_rows($this->db);
}
/*! /*!
\brief Retourne le dsn pear \brief Retourne le dsn pear
\return dsn \return dsn
@@ -480,6 +486,7 @@ class DoliDb {
return $pear; return $pear;
} }
} }
?> ?>

View File

@@ -42,27 +42,25 @@
Ensemble des fonctions permettant de g<>rer la database de dolibarr Ensemble des fonctions permettant de g<>rer la database de dolibarr
*/ */
class DoliDb class DoliDb
{ {
var $db, $results, $ok, $connected, $database_selected; var $db, $results, $ok, $connected, $database_selected;
// Constantes pour code erreurs
var $ERROR_DUPLICATE="23505";
var $ERROR_TABLEEXISTS='42P07';
/*! /*!
\brief Ouverture d'une connection vers le serveur et/ou une database. \brief Ouverture d'une connection vers le serveur et une database.
\param type type de base de donn<6E>es (mysql ou pgsql) \param type type de base de donn<6E>es (mysql ou pgsql)
\param host addresse de la base de donn<6E>es \param host addresse de la base de donn<6E>es
\param user nom de l'utilisateur autoris<69> \param user nom de l'utilisateur autoris<69>
\param pass mot de passe \param pass mot de passe
\param name nom de la database \param name nom de la database
\return int 1 en cas de succ<63>s, 0 sinon
*/ */
function DoliDb($type = 'pgsql', $host = '', $user = '', $pass = '', $name = '') function DoliDb($type = 'pgsql', $host = '', $user = '', $pass = '', $name = '')
// Se connecte au serveur et <20>ventuellement <20> une base (si sp<73>cifi<66>)
// Renvoie 1 en cas de succ<63>s, 0 sinon
{ {
global $conf; global $conf;
@@ -94,10 +92,8 @@ class DoliDb
if ($this->db) if ($this->db)
{ {
$this->connected = 1; $this->connected = 1;
$this->ok = 1; $this->ok = 1;
} }
else else
{ {
@@ -109,27 +105,21 @@ class DoliDb
if ($this->connected && $name) if ($this->connected && $name)
{ {
if ($this->select_db($name) == 1) if ($this->select_db($name) == 1)
{ {
$this->database_selected = 1; $this->database_selected = 1;
$this->ok = 1; $this->ok = 1;
} }
else else
{ {
$this->database_selected = 0; $this->database_selected = 0;
$this->ok = 0; $this->ok = 0;
} }
} }
else else
{ {
// Pas de selection de base demand<6E>e, mais tout est ok // Pas de selection de base demand<6E>e, ok ou ko
$this->database_selected = 0; $this->database_selected = 0;
$this->ok = 1;
} }
return $this->ok; return $this->ok;
@@ -144,8 +134,6 @@ class DoliDb
\remarks en cas de succes renverra 1 ou 0 \remarks en cas de succes renverra 1 ou 0
*/ */
function select_db($database) function select_db($database)
{ {
if($database == "dolibarr") if($database == "dolibarr")
@@ -160,10 +148,10 @@ class DoliDb
\param login nom de l'utilisateur autoris<69> \param login nom de l'utilisateur autoris<69>
\param passwd mot de passe \param passwd mot de passe
\param name nom de la database \param name nom de la database
\return resource \return resource handler d'acc<63>s <20> la base
*/ */
function connect($host, $login, $passwd,$name) function connect($host, $login, $passwd, $name)
{ {
$con_string = "host=$host dbname=$name user=$login password=$passwd "; $con_string = "host=$host dbname=$name user=$login password=$passwd ";
$this->db = pg_connect($con_string); $this->db = pg_connect($con_string);
@@ -203,13 +191,14 @@ class DoliDb
\param login nom de l'utilisateur autoris<69> \param login nom de l'utilisateur autoris<69>
\param passwd mot de passe \param passwd mot de passe
\param name nom de la database \param name nom de la database
\return resource \return resource handler d'acc<63>s <20> la base
*/ */
function pconnect($host, $login, $passwd,$name) function pconnect($host, $login, $passwd,$name)
{ {
$con_string = "host=$host dbname=$name user=$login password=$passwd"; $con_string = "host=$host dbname=$name user=$login password=$passwd";
$this->db = pg_pconnect($con_string); $this->db = pg_pconnect($con_string);
return $this->db;
} }
/*! /*!
@@ -318,7 +307,7 @@ class DoliDb
function result($nb, $fieldname) function result($nb, $fieldname)
{ {
return pg_fetch_result($this->results,$nb,$fieldname); return pg_fetch_result($this->results, $nb, $fieldname);
} }
@@ -349,7 +338,7 @@ class DoliDb
\brief d<>fini les limites de la requ<71>te. \brief d<>fini les limites de la requ<71>te.
\param limit \param limit
\param offset \param offset
\return limit \return int limite
*/ */
function plimit($limit=0,$offset=0) function plimit($limit=0,$offset=0)
@@ -370,7 +359,6 @@ class DoliDb
\return date \return date
*/ */
function pdate($fname) function pdate($fname)
{ {
return "unix_timestamp($fname)"; return "unix_timestamp($fname)";
@@ -419,8 +407,10 @@ class DoliDb
/*! /*!
\brief Renvoie le nombre de lignes dans le resultat de la requete. \brief Renvoie le nombre de lignes dans le
\return int resultat d'une requete SELECT
\seealso affected_rows
\return int nombre de lignes
*/ */
function num_rows() function num_rows()
@@ -428,6 +418,20 @@ class DoliDb
return pg_num_rows($this->results); return pg_num_rows($this->results);
} }
/*!
\brief Renvoie le nombre de lignes dans le
resultat d'une requete INSERT, DELETE ou UPDATE
\seealso num_rows
\return int nombre de lignes
*/
function affected_rows()
{
// pgsql necessite un resultset pour cette fonction contrairement
// a mysql qui prend un link de base
return pg_affected_rows($this->results);
}
/*! /*!
\brief Renvoie le nombre de champs dans le resultat de la requete. \brief Renvoie le nombre de champs dans le resultat de la requete.
\return int \return int
@@ -439,7 +443,7 @@ class DoliDb
} }
/*! /*!
\brief renvoie la derniere requete soumise par la methode query() \brief Renvoie la derniere requete soumise par la methode query()
\return lastquery \return lastquery
*/ */
@@ -449,7 +453,7 @@ class DoliDb
} }
/*! /*!
\brief renvoie le texte de l'erreur mysql de l'operation precedente. \brief Renvoie le texte de l'erreur mysql de l'operation precedente.
\return error_text \return error_text
*/ */
@@ -459,13 +463,17 @@ class DoliDb
} }
/*! /*!
\brief renvoie la valeur numerique de l'erreur mysql de l'operation precedente. \brief Renvoie la valeur numerique de l'erreur de l'operation precedente.
pour etre exploiter par l'appelant et d<>tecter les erreurs du genre:
echec car doublons, table deja existante...
\return error_num \return error_num
\remark pgsql ne permet pas de renvoyer un code g<>n<EFBFBD>rique d'une erreur,
mais juste un message. On utilise donc ces messages plutot qu'un code.
*/ */
function errno() function errno()
{ {
return pg_result_status($this->db); return pg_last_error($this->db);
} }
/*! /*!
@@ -476,20 +484,11 @@ class DoliDb
function last_insert_id($tab) function last_insert_id($tab)
{ {
$result = pg_query($this->db,"select max(rowid) from ".$tab." ;"); $result = pg_query($this->db,"select max(rowid) from ".$tab." ;");
$nbre=pg_num_rows($result); $nbre = pg_num_rows($result);
$row = pg_fetch_result($result,0,0); $row = pg_fetch_result($result,0,0);
return $row; return $row;
} }
/*!
\brief Obtient le nombre de lignes affect<63>es dans la pr<70>c<EFBFBD>dente op<6F>ration.
\return rows
*/
function affected_rows()
{
return pg_affected_rows($this->results);
}
/*! /*!
\brief Retourne le dsn pear \brief Retourne le dsn pear
@@ -505,4 +504,5 @@ class DoliDb
} }
} }
?> ?>