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

View File

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