Ajout de la propriété requiredby qui est l'inverse de depends pour désactiver un module quand le père est désactivé.

This commit is contained in:
Laurent Destailleur 2004-02-27 23:11:26 +00:00
parent 1d8e9957a4
commit fecf467605
3 changed files with 27 additions and 3 deletions

View File

@ -36,12 +36,21 @@ if ($_GET["action"] == 'set' && $user->admin)
Header("Location: modules.php"); Header("Location: modules.php");
} }
if ($_GET["action"] == 'reset' && $user->admin)
{
UnActivate($_GET["value"]);
Header("Location: modules.php");
}
function Activate($value) function Activate($value)
{ {
global $db, $modules; global $db, $modules;
$modName = $value; $modName = $value;
// Activation du module
if ($modName) if ($modName)
{ {
$file = $modName . ".class.php"; $file = $modName . ".class.php";
@ -50,16 +59,21 @@ function Activate($value)
$objMod->init(); $objMod->init();
} }
// Activation des modules dont le module dépend
for ($i = 0; $i < sizeof($objMod->depends); $i++) for ($i = 0; $i < sizeof($objMod->depends); $i++)
{ {
Activate($objMod->depends[$i]); Activate($objMod->depends[$i]);
} }
} }
if ($_GET["action"] == 'reset' && $user->admin) function UnActivate($value)
{ {
$modName = $_GET["value"]; global $db, $modules;
$modName = $value;
// Desactivation du module
if ($modName) if ($modName)
{ {
$file = $modName . ".class.php"; $file = $modName . ".class.php";
@ -68,9 +82,16 @@ if ($_GET["action"] == 'reset' && $user->admin)
$objMod->remove(); $objMod->remove();
} }
// Desactivation des modules qui dependent de lui
for ($i = 0; $i < sizeof($objMod->requiredby); $i++)
{
UnActivate($objMod->requiredby[$i]);
}
Header("Location: modules.php"); Header("Location: modules.php");
} }
$db->close(); $db->close();
llxHeader(); llxHeader();

View File

@ -37,6 +37,7 @@ class modComptabilite extends DolibarrModules
$this->numero = 10 ; $this->numero = 10 ;
$this->db = $DB ; $this->db = $DB ;
$this->depends = array(); $this->depends = array();
$this->requiredby = array("modFacture");
$this->name = "Comptabilite"; $this->name = "Comptabilite";
$this->description = "Gestion sommaire de comptabilité"; $this->description = "Gestion sommaire de comptabilité";

View File

@ -1,5 +1,6 @@
<?PHP <?PHP
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -39,6 +40,7 @@ class modSociete extends DolibarrModules
$this->const_config = MAIN_MODULE_SOCIETE; $this->const_config = MAIN_MODULE_SOCIETE;
$this->depends = array(); $this->depends = array();
$this->requiredby = array("modFacture");
$this->const = array(); $this->const = array();
$this->boxes = array(); $this->boxes = array();