|
From: | Régis Houssin |
Subject: | Re: [Dolibarr-dev] Pas de test avant l'instanciation d'une classe de module incluse |
Date: | Tue, 20 Apr 2010 16:33:53 +0200 |
User-agent: | Microsoft-Entourage/12.24.0.100205 |
Bonjour,
Je viens de constater qu'il y a un gros problème dans "htdocs/admin/modules.php". En effet, à la ligne 72, une classe est instanciée avant même avoir testé que l'inclusion de la ligne précédante avais bien fonctionnée (ou, tout du moins, que la classe à instancier était bien déclarée quelque part).
Voici le code incriminé :
+------------------------------------------------------------------------------------------------------------------+
if ($modName)
{
$file = $modName . ".class.php";
include_once(DOL_DOCUMENT_ROOT."/includes/modules/$file");
$objMod = new $modName($db);
+------------------------------------------------------------------------------------------------------------------+
Voici une mini-ébauche de ce qui pourrait régler ce problème :
+------------------------------------------------------------------------------------------------------------------+
if ($modName)
{
$file = $modName . ".class.php";
include_once(DOL_DOCUMENT_ROOT."/includes/modules/$file");
if(class_exists($modName)) $objMod = new $modName($db);
else
+------------------------------------------------------------------------------------------------------------------+
Par contre, je ne sais pas trop quoi mettre après le "else"...
Et j'avoue que j'ai un peu peur de toucher à quelque chose d'aussi central que l'activation des modules Dolibarr donc je préfère vous faire part de ma découverte.
Bien cordialement,
smime.p7s
Description: S/MIME cryptographic signature
[Prev in Thread] | Current Thread | [Next in Thread] |