From af97652c9bd110959da239906bad384efbb38655 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 12 Feb 2011 06:48:02 +0000 Subject: [PATCH] Fix: PostgreSQL compatibility --- .../modules/DolibarrModules.class.php | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php index 0943ee3fd81..60224f929b2 100644 --- a/htdocs/includes/modules/DolibarrModules.class.php +++ b/htdocs/includes/modules/DolibarrModules.class.php @@ -3,8 +3,8 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2010 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2011 Laurent Destailleur + * Copyright (C) 2005-2011 Regis Houssin * * 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() {