Fix: PostgreSQL compatibility

This commit is contained in:
Regis Houssin 2011-02-12 06:48:02 +00:00
parent cc39ca7287
commit af97652c9b

View File

@ -3,8 +3,8 @@
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -55,8 +55,8 @@ class DolibarrModules
/**
* \brief Constructeur
* \param DB handler d'acces base
* Constructor
* @param DB Database access handler
*/
function DolibarrModules($DB)
{
@ -66,10 +66,10 @@ class DolibarrModules
/**
* \brief Fonction d'activation. Insere en base les constantes et boites du module
* \param array_sql Tableau de requete sql a executer a l'activation
* \param options Options when enabling module ('', 'noboxes')
* \return int 1 if OK, 0 if KO
* Fonction d'activation. Insere en base les constantes et boites du module
* @param array_sql Tableau de requete sql a executer a l'activation
* @param options Options when enabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function _init($array_sql, $options='')
{
@ -96,7 +96,7 @@ class DolibarrModules
// Insert activation login method
if (! $err) $err+=$this->insert_login_method();
// Insere les constantes associees au module dans llx_const
// Insert constant defined by modules, into llx_const
if (! $err) $err+=$this->insert_const();
// Insere les boites dans llx_boxes_def
@ -164,10 +164,10 @@ class DolibarrModules
}
/**
* \brief Fonction de desactivation. Supprime de la base les constantes et boites du module
* \param array_sql tableau de requete sql a executer a la desactivation
* \param options Options when disabling module ('', 'noboxes')
* \return int 1 if OK, 0 if KO
* Fonction de desactivation. Supprime de la base les constantes et boites du module
* @param array_sql tableau de requete sql a executer a la desactivation
* @param options Options when disabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function _remove($array_sql, $options='')
{
@ -418,8 +418,8 @@ class DolibarrModules
/**
* \brief Insert constant to activate module
* \return int Nb of errors (0 if OK)
* Insert constant to activate module
* @return int Nb of errors (0 if OK)
*/
function _active()
{
@ -453,8 +453,8 @@ class DolibarrModules
/**
* \brief Remove activation line
* \return int Nb of errors (0 if OK)
* Remove activation line
* @return int Nb of errors (0 if OK)
**/
function _unactive()
{
@ -577,7 +577,7 @@ class DolibarrModules
$sql.= " WHERE file = '".$file."'";
$sql.= " AND entity = ".$conf->entity;
if ($note) $sql.=" AND note ='".addslashes($note)."'";
if ($note) $sql.=" AND note ='".$this->db->escape($note)."'";
$result=$this->db->query($sql);
if ($result)
@ -586,9 +586,9 @@ class DolibarrModules
if ($row[0] == 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (file,entity,note)";
$sql.= " VALUES ('".addslashes($file)."',";
$sql.= " VALUES ('".$this->db->escape($file)."',";
$sql.= $conf->entity.",";
$sql.= $note?"'".addslashes($note)."'":"null";
$sql.= $note?"'".$this->db->escape($note)."'":"null";
$sql.= ")";
dol_syslog("DolibarrModules::insert_boxes sql=".$sql);
@ -632,7 +632,7 @@ class DolibarrModules
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
$sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def";
$sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid";
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".addslashes($file)."'";
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'";
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.entity = ".$conf->entity;
dol_syslog("DolibarrModules::delete_boxes sql=".$sql);
@ -645,7 +645,7 @@ class DolibarrModules
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def";
$sql.= " WHERE file = '".addslashes($file)."'";
$sql.= " WHERE file = '".$this->db->escape($file)."'";
$sql.= " AND entity = ".$conf->entity;
dol_syslog("DolibarrModules::delete_boxes sql=".$sql);
@ -807,8 +807,8 @@ class DolibarrModules
}
/**
* \brief Insert constants defined into $this->const array into table llx_const
* \return int Number of errors (0 if OK)
* Insert constants defined into $this->const array into table llx_const
* @return int Number of errors (0 if OK)
*/
function insert_const()
{
@ -846,7 +846,7 @@ class DolibarrModules
$sql.= $this->db->encrypt($name,1);
$sql.= ",'".$type."'";
$sql.= ",".($val?$this->db->encrypt($val,1):"''");
$sql.= ",".($note?"'".addslashes($note)."'":"null");
$sql.= ",".($note?"'".$this->db->escape($note)."'":"null");
$sql.= ",'".$visible."'";
$sql.= ",".$entity;
$sql.= ")";
@ -919,14 +919,14 @@ class DolibarrModules
$sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def";
$sql.= " (id, entity, libelle, module, type, bydefault, perms, subperms)";
$sql.= " VALUES ";
$sql.= "(".$r_id.",".$conf->entity.",'".addslashes($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."','".$r_subperms."')";
$sql.= "(".$r_id.",".$conf->entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."','".$r_subperms."')";
}
else
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def";
$sql.= " (id, entity, libelle, module, type, bydefault, perms)";
$sql.= " VALUES ";
$sql.= "(".$r_id.",".$conf->entity.",'".addslashes($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."')";
$sql.= "(".$r_id.",".$conf->entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."')";
}
}
else
@ -934,7 +934,7 @@ class DolibarrModules
$sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def ";
$sql .= " (id, entity, libelle, module, type, bydefault)";
$sql .= " VALUES ";
$sql .= "(".$r_id.",".$conf->entity.",'".addslashes($r_desc)."','".$r_modul."','".$r_type."',".$r_def.")";
$sql .= "(".$r_id.",".$conf->entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.")";
}
dol_syslog("DolibarrModules::insert_permissions sql=".$sql, LOG_DEBUG);
@ -975,8 +975,8 @@ class DolibarrModules
/**
\brief Supprime les permissions
\return int Nombre d'erreurs (0 si ok)
* \brief Supprime les permissions
* \return int Nombre d'erreurs (0 si ok)
*/
function delete_permissions()
{
@ -991,7 +991,7 @@ class DolibarrModules
if (! $this->db->query($sql))
{
$this->error=$this->db->lasterror();
dol_syslog("DolibarrModules::delete_dirs ".$this->error, LOG_ERR);
dol_syslog("DolibarrModules::delete_permissions ".$this->error, LOG_ERR);
$err++;
}
@ -1000,8 +1000,8 @@ class DolibarrModules
/**
* \brief Insere les menus dans llx_menu*
* \return int Nombre d'erreurs (0 si ok)
* \brief Insert menus entries into llx_menu*
* \return int Nb of errors (0 if OK)
*/
function insert_menus()
{
@ -1095,7 +1095,7 @@ class DolibarrModules
$err=0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu";
$sql.= " WHERE module = '".addslashes($this->rights_class)."'";
$sql.= " WHERE module = '".$this->db->escape($this->rights_class)."'";
$sql.= " AND entity = ".$conf->entity;
dol_syslog("DolibarrModules::delete_menus sql=".$sql);
@ -1299,8 +1299,8 @@ class DolibarrModules
}
/**
* \brief Insert activation login method from modules in llx_const
* \return int Number of errors (0 if ok)
* Insert activation login method from modules in llx_const
* @return int Number of errors (0 if ok)
*/
function insert_login_method()
{
@ -1339,8 +1339,8 @@ class DolibarrModules
}
/**
* \brief Remove activation login method from modules in llx_const
* \return int Nombre d'erreurs (0 si ok)
* Remove activation login method from modules in llx_const
* @return int Nombre d'erreurs (0 si ok)
*/
function delete_login_method()
{