diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 05204885c9c..2eb0fbb77ba 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -837,13 +837,13 @@ function unActivateModule($value, $requiredby=1) } else { - // TODO Cannot instantiate abstract class - //$genericMod = new DolibarrModul($db); - //$genericMod->name=preg_replace('/^mod/i','',$modName); - //$genericMod->rights_class=strtolower(preg_replace('/^mod/i','',$modName)); - //$genericMod->const_name='MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i','',$modName)); + // TODO Replace this afte DolibarrModules is moved as abstract class with a try catch to show module is bugged + $genericMod = new DolibarrModules($db); + $genericMod->name=preg_replace('/^mod/i','',$modName); + $genericMod->rights_class=strtolower(preg_replace('/^mod/i','',$modName)); + $genericMod->const_name='MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i','',$modName)); dol_syslog("modules::unActivateModule Failed to find module file, we use generic function with name " . $modName); - //$genericMod->_remove(); + $genericMod->_remove(); } // Desactivation des modules qui dependent de lui diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index eee8dd50287..e759bf9454a 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -199,8 +199,11 @@ abstract class DolibarrModules * * @param DoliDB $db Database handler */ - abstract public function __construct($db); - + //public function __construct($db); + // We should but can't set this as abstract because this will make dolibarr hang + // after migration due to old module not implementing. We must wait PHP is able to make + // a try catch on Fatal error to manage this correctly. + /** * Enables a module. * Inserts all informations into database