diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 291146257..392db552c 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -597,8 +597,18 @@ class module extends ModuleObject function recompileCache() { $oModuleModel = getModel('module'); - $oModuleModel->getModuleList(); + $module_list = $oModuleModel->getModuleList(); + $module_names = array_map(function($module_info) { + return $module_info->module; + }, $module_list); + $oModuleModel->loadModuleExtends(); + + // Delete triggers belonging to modules that don't exist + $args = new stdClass; + $args->module = $module_names ?: []; + executeQuery('module.deleteTriggers', $args); + Rhymix\Framework\Cache::delete('triggers'); } } /* End of file module.class.php */ diff --git a/modules/module/queries/deleteTriggers.xml b/modules/module/queries/deleteTriggers.xml new file mode 100644 index 000000000..07ad95f19 --- /dev/null +++ b/modules/module/queries/deleteTriggers.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file