From 8e30b9423b38bd81a177977d6fd4fe8c5dfa6846 Mon Sep 17 00:00:00 2001 From: Hugo Sales Date: Mon, 6 Jul 2020 20:57:36 +0000 Subject: [PATCH] [MODULES] Make ModulesManager check if file exists --- src/Core/ModulesManager.php | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Core/ModulesManager.php b/src/Core/ModulesManager.php index a6ff27617b..457d5ea493 100644 --- a/src/Core/ModulesManager.php +++ b/src/Core/ModulesManager.php @@ -45,19 +45,21 @@ abstract class ModulesManager foreach ($plugins_paths as $plugin_path) { $class_name = basename($plugin_path); - $qualified = 'Plugin\\' . $class_name . '\\' . $class_name; + $fqcn = "Plugin\\{$class_name}\\{$class_name}"; + $file = "{$plugin_path}/{$class_name}.php"; + if (file_exists($file)) { + require_once $file; + $class = new $fqcn; + self::$modules[] = $class; - require_once $plugin_path . '/' . $class_name . '.php'; - $class = new $qualified; - self::$modules[] = $class; - - // Register event handlers - $methods = get_class_methods($class); - $events = F\select($methods, F\partial_right('App\Util\Formatting::startsWith', 'on')); - F\map($events, - function (string $m) use ($class) { - Event::addHandler(substr($m, 2), [$class, $m]); - }); + // Register event handlers + $methods = get_class_methods($class); + $events = F\select($methods, F\partial_right('App\Util\Formatting::startsWith', 'on')); + F\map($events, + function (string $m) use ($class) { + Event::addHandler(substr($m, 2), [$class, $m]); + }); + } } } }