Fix: Plus de plantage si le module ne definie pas la tableau des boxes

This commit is contained in:
Laurent Destailleur 2006-04-22 00:12:11 +00:00
parent 831ca9eade
commit 48ad5fd666
2 changed files with 43 additions and 34 deletions

View File

@ -365,30 +365,33 @@ class DolibarrModules
{ {
$err=0; $err=0;
foreach ($this->boxes as $key => $value) if (is_array($this->boxes))
{ {
$titre = $this->boxes[$key][0]; foreach ($this->boxes as $key => $value)
$file = $this->boxes[$key][1]; {
$titre = $this->boxes[$key][0];
$file = $this->boxes[$key][1];
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def WHERE name ='".$titre."'"; $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def WHERE name ='".$titre."'";
$result=$this->db->query($sql); $result=$this->db->query($sql);
if ($result) if ($result)
{ {
$row = $this->db->fetch_row($result); $row = $this->db->fetch_row($result);
if ($row[0] == 0) if ($row[0] == 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (name, file) VALUES ('".$titre."','".$file."')"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (name, file) VALUES ('".$titre."','".$file."')";
if (! $this->db->query($sql)) if (! $this->db->query($sql))
{ {
$err++; $err++;
} }
} }
} }
else else
{ {
$err++; $err++;
} }
}
} }
return $err; return $err;
@ -403,17 +406,20 @@ class DolibarrModules
{ {
$err=0; $err=0;
foreach ($this->boxes as $key => $value) if (is_array($this->boxes))
{ {
$titre = $this->boxes[$key][0]; foreach ($this->boxes as $key => $value)
$file = $this->boxes[$key][1]; {
$titre = $this->boxes[$key][0];
$file = $this->boxes[$key][1];
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$file."'"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$file."'";
if (! $this->db->query($sql) ) if (! $this->db->query($sql) )
{ {
$err++; $err++;
} }
} }
}
return $err; return $err;
} }

View File

@ -72,6 +72,9 @@ class modBoutique extends DolibarrModules
// Constantes // Constantes
$this->const = array(); $this->const = array();
// Boites
$this->boxes = array();
// Permissions // Permissions
$this->rights = array(); $this->rights = array();
$this->rights_class = 'boutique'; $this->rights_class = 'boutique';