Fix: on verifie si les dependances sont valides

This commit is contained in:
Regis Houssin 2010-04-20 14:59:15 +00:00
parent d58313488c
commit 56942f72d1

View File

@ -61,11 +61,11 @@ if (isset($_GET["action"]) && $_GET["action"] == 'reset' && $user->admin)
} }
/** /**
\brief Enable a module * \brief Enable a module
\param value Nom du module a activer * \param value Nom du module a activer
\param withdeps Active/desactive aussi les dependances * \param withdeps Active/desactive aussi les dependances
\return string Error message or ''; * \return string Error message or '';
*/ */
function Activate($value,$withdeps=1) function Activate($value,$withdeps=1)
{ {
global $db, $modules, $langs, $conf; global $db, $modules, $langs, $conf;
@ -117,16 +117,28 @@ function Activate($value,$withdeps=1)
if ($withdeps) if ($withdeps)
{ {
// Activation des modules dont le module depend if (is_array($objMod->depends) && !empty($objMod->depends))
for ($i = 0; $i < sizeof($objMod->depends); $i++)
{ {
Activate($objMod->depends[$i]); // Activation des modules dont le module depend
for ($i = 0; $i < sizeof($objMod->depends); $i++)
{
if (file_exists(DOL_DOCUMENT_ROOT."/includes/modules/".$objMod->depends[$i].".class.php"))
{
Activate($objMod->depends[$i]);
}
}
} }
// Desactivation des modules qui entrent en conflit if (is_array($objMod->conflictwith) && !empty($objMod->conflictwith))
for ($i = 0; $i < sizeof($objMod->conflictwith); $i++)
{ {
UnActivate($objMod->conflictwith[$i],0); // Desactivation des modules qui entrent en conflit
for ($i = 0; $i < sizeof($objMod->conflictwith); $i++)
{
if (file_exists(DOL_DOCUMENT_ROOT."/includes/modules/".$objMod->conflictwith[$i].".class.php"))
{
UnActivate($objMod->conflictwith[$i],0);
}
}
} }
} }
@ -135,10 +147,10 @@ function Activate($value,$withdeps=1)
/** /**
\brief Disable a module * \brief Disable a module
\param value Nom du module a desactiver * \param value Nom du module a desactiver
\param requiredby 1=Desactive aussi modules dependants * \param requiredby 1=Desactive aussi modules dependants
*/ */
function UnActivate($value,$requiredby=1) function UnActivate($value,$requiredby=1)
{ {
global $db, $modules, $conf; global $db, $modules, $conf;