From 3e09ca63a93bd4dff47668420af29b51780595f8 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 30 Dec 2023 20:45:48 +0900 Subject: [PATCH] Fix #2241 inconsistent handling of class name specified in event handler --- classes/module/ModuleHandler.class.php | 2 +- common/framework/parsers/ModuleActionParser.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 6dc530fd0..310faebaa 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -1321,7 +1321,7 @@ class ModuleHandler extends Handler $called_method = $item->called_method; // Get instance of module class - if (strpos($type, '\\') !== false) + if (!preg_match('/^(controller|model|view|mobile|api|wap|class)$/', $type)) { $class_name = ($type[0] === '\\') ? $type : sprintf('Rhymix\\Modules\\%s\\%s', $module, $type); if (class_exists($class_name)) diff --git a/common/framework/parsers/ModuleActionParser.php b/common/framework/parsers/ModuleActionParser.php index e5c3a6c45..ae2ea868a 100644 --- a/common/framework/parsers/ModuleActionParser.php +++ b/common/framework/parsers/ModuleActionParser.php @@ -292,7 +292,7 @@ class ModuleActionParser extends BaseParser { if (isset($attrs[$key])) { - if (count($info->namespaces) && str_contains($attrs['class'], '\\')) + if (count($info->namespaces) && !preg_match('/^(controller|model|view|mobile|api|wap|class)$/', $attrs['class'])) { $namespace = '\\' . array_first($info->namespaces) . '\\'; }