diff --git a/htdocs/includes/modules/modCommande.class.php b/htdocs/includes/modules/modCommande.class.php index 7c4daf47280..a5e26a53350 100644 --- a/htdocs/includes/modules/modCommande.class.php +++ b/htdocs/includes/modules/modCommande.class.php @@ -33,6 +33,8 @@ class modCommande extends modDolibarrModules Function modCommande($DB) { $this->db = $DB ; + $this->const = array(); + $this->boxes = array(); } /* * @@ -45,11 +47,10 @@ class modCommande extends modDolibarrModules /* * Activation du module */ - $const = array(); $sql = array(); - return $this->_init($const, $sql); + return $this->_init($this->const, $sql); } /* diff --git a/htdocs/includes/modules/modDolibarrModules.class.php b/htdocs/includes/modules/modDolibarrModules.class.php index 5413e832a8d..45d5add0eca 100644 --- a/htdocs/includes/modules/modDolibarrModules.class.php +++ b/htdocs/includes/modules/modDolibarrModules.class.php @@ -38,19 +38,43 @@ class modDolibarrModules * */ - Function _init($const, $array_sql) + Function _init($array_sql) { /* * Activation du module */ $err = 0; - - foreach ($const as $key => $value) + foreach ($this->boxes as $key => $value) { - $name = $const[$key][0]; - $type = $const[$key][1]; - $val = $const[$key][2]; + $titre = $this->boxes[$key][0]; + $file = $this->boxes[$key][1]; + + $sql = "SELECT count(*) FROM llx_boxes_def WHERE name ='".$titre."'"; + + if ( $this->db->query($sql) ) + { + $row = $this->db->fetch_row($sql); + if ($row[0] == 0) + { + $sql = "insert into llx_boxes_def (name, file) values ('".$titre."','".$file."')"; + if (! $this->db->query($sql) ) + { + $err++; + } + } + } + else + { + $err++; + } + } + + foreach ($this->const as $key => $value) + { + $name = $this->const[$key][0]; + $type = $this->const[$key][1]; + $val = $this->const[$key][2]; $sql = "SELECT count(*) FROM llx_const WHERE name ='".$name."'"; @@ -126,6 +150,23 @@ class modDolibarrModules { return 1; } + + /* + * Boites + */ + foreach ($this->boxes as $key => $value) + { + $titre = $this->boxes[$key][0]; + $file = $this->boxes[$key][1]; + + $sql = "DELETE FROM llx_boxes_def WHERE file = '".$file."'"; + if (! $this->db->query($sql) ) + { + $err++; + } + } + } + } ?> diff --git a/htdocs/includes/modules/modFacture.class.php b/htdocs/includes/modules/modFacture.class.php index ec1c7842737..0ce504b047d 100644 --- a/htdocs/includes/modules/modFacture.class.php +++ b/htdocs/includes/modules/modFacture.class.php @@ -36,6 +36,7 @@ class modFacture extends modDolibarrModules $this->depends = array("MAIN_MODULE_SOCIETE","MAIN_MODULE_COMPTABILITE"); $this->const = array(); + $this->boxes = array(); $this->const[0][0] = "FAC_PDF_INTITULE"; $this->const[0][1] = "chaine"; @@ -72,6 +73,11 @@ class modFacture extends modDolibarrModules $this->const[8][1] = "chaine"; $this->const[8][2] = "pluton"; + $this->boxes[0][0] = "Factures"; + $this->boxes[0][1] = "box_factures.php"; + + $this->boxes[1][0] = "Factures impayées"; + $this->boxes[1][1] = "box_factures_imp.php"; } /* * @@ -92,10 +98,10 @@ class modFacture extends modDolibarrModules "insert into llx_rights_def values (14,'Valider les factures','facture','d',0);", "insert into llx_rights_def values (15,'Envoyer les factures aux clients','facture','d',0);", "insert into llx_rights_def values (16,'Emettre des paiements sur les factures','facture','d',0);", - "insert into llx_rights_def values (19,'Supprimer les factures','facture','d',0);" + "insert into llx_rights_def values (19,'Supprimer les factures','facture','d',0);", ); - return $this->_init($this->const, $sql); + return $this->_init($sql); } /* * @@ -103,7 +109,9 @@ class modFacture extends modDolibarrModules */ Function remove() { - $sql = array("DELETE FROM llx_rights_def WHERE module = 'facture';"); + $sql = array( + "DELETE FROM llx_rights_def WHERE module = 'facture';" + ); return $this->_remove($sql); } diff --git a/htdocs/includes/modules/modPropale.class.php b/htdocs/includes/modules/modPropale.class.php index 6b6dd89c438..fc54177860b 100644 --- a/htdocs/includes/modules/modPropale.class.php +++ b/htdocs/includes/modules/modPropale.class.php @@ -36,6 +36,7 @@ class modPropale extends modDolibarrModules $this->depends = array("MAIN_MODULE_SOCIETE","MAIN_MODULE_COMMERCIAL"); $this->const = array(); + $this->boxes = array(); /* * Constantes */ @@ -46,6 +47,9 @@ class modPropale extends modDolibarrModules $this->const[1][0] = "PROPALE_ADDON"; $this->const[1][1] = "chaine"; $this->const[1][2] = "mod_propale_ivoire"; + + $this->boxes[0][0] = "Proposition commerciales"; + $this->boxes[0][1] = "box_propales.php"; } /* * @@ -66,12 +70,11 @@ class modPropale extends modDolibarrModules "insert into llx_rights_def values (25,'Envoyer les propositions commerciales aux clients','propale','d',0);", "insert into llx_rights_def values (26,'Clôturer les propositions commerciales','propale','d',0);", "insert into llx_rights_def values (27,'Supprimer les propositions commerciales','propale','d',0);", - "INSERT INTO llx_boxes_def (name,file) VALUES('Proposition commerciales', 'box_propales.php');", "REPLACE INTO llx_propal_model_pdf SET nom = '".$this->const[0][2]."'", ); //"insert into llx_rights_def values (23,'Modifier les propositions commerciales d\'autrui','propale','m',0);", - return $this->_init($this->const, $sql); + return $this->_init($sql); } /* @@ -81,7 +84,6 @@ class modPropale extends modDolibarrModules Function remove() { $sql = array( - "DELETE FROM llx_boxes_def WHERE file = 'box_propales.php';", "DELETE FROM llx_rights_def WHERE module = 'propale';" );