Я понимаю, что решили почистить партнерские модули, но ведь у людей бизнес а не игрушки...
Ошибку [TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method [...] cannot be called statically (0) битриксы могли бы элементарно исключить, сделав условие в методе ExecuteModuleEventEx (/bitrix/modules/main/classes/general/module.php строка 480)
вместо
[CODE]return call_user_func_array(array($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]), $args);[/CODE]
написав
[CODE]$methodChecker = new \ReflectionMethod($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]);
if($methodChecker->isStatic()) {
return call_user_func_array(array($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]), $args);
} else {
$class = $arEvent["TO_CLASS"];
return call_user_func_array(array(new $class(), $arEvent["TO_METHOD"]), $args);
}[/CODE]
Ошибку [TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method [...] cannot be called statically (0) битриксы могли бы элементарно исключить, сделав условие в методе ExecuteModuleEventEx (/bitrix/modules/main/classes/general/module.php строка 480)
вместо
[CODE]return call_user_func_array(array($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]), $args);[/CODE]
написав
[CODE]$methodChecker = new \ReflectionMethod($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]);
if($methodChecker->isStatic()) {
return call_user_func_array(array($arEvent["TO_CLASS"], $arEvent["TO_METHOD"]), $args);
} else {
$class = $arEvent["TO_CLASS"];
return call_user_func_array(array(new $class(), $arEvent["TO_METHOD"]), $args);
}[/CODE]