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];
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def WHERE name ='".$titre."'"; $file = $this->boxes[$key][1];
$result=$this->db->query($sql); $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def WHERE name ='".$titre."'";
if ($result)
{ $result=$this->db->query($sql);
$row = $this->db->fetch_row($result); if ($result)
if ($row[0] == 0) {
{ $row = $this->db->fetch_row($result);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (name, file) VALUES ('".$titre."','".$file."')"; if ($row[0] == 0)
if (! $this->db->query($sql)) {
{ $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (name, file) VALUES ('".$titre."','".$file."')";
$err++; if (! $this->db->query($sql))
} {
} $err++;
} }
else }
{ }
$err++; else
} {
$err++;
}
}
} }
return $err; return $err;
@ -403,18 +406,21 @@ 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];
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$file."'"; $file = $this->boxes[$key][1];
if (! $this->db->query($sql) )
{ $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$file."'";
$err++; if (! $this->db->query($sql) )
} {
} $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';