Bugs and Suggestions

Here you can vote for ideas by projects. You can add your ideas to any open project from the project's page.

Спасибо!

Мы очень рады, что Вам нравится данный проект и вы проголосовали за его развитие.

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Back

Не выполняются связанные методы, при вызове связанного метода не передается значение

Added by: 2019-09-21 14:13:34 SergeJey / Status: Done / Project: Дополнение MQTT

https://github.com/sergejey/majordomo-mqtt/issues/...

1) Не выполняются связанные методы
Насколько я вижу - опечатка в методе processMessage
вместо if ($rec['LINKED_OBJECT'] && $cmd_rec['LINKED_METHOD']) {
должно быть if ($rec['LINKED_OBJECT'] && $rec['LINKED_METHOD']) {

2) При вызове связанного метода не передается значение
после исправления предыдущего пункта связанный метод вызывается, но если в качестве параметра передается значение, а не массив - то в методе callMethodSafe параметр обнуляется, т.к. там
$call_stack[] = $current_call;
if (!is_array($params)) {
$params = array();
}
Пока исправил так, но это неверный путь:
if ($rec['LINKED_OBJECT'] && $rec['LINKED_METHOD']) {
if (!is_array($rec['VALUE'])) {
$params = array('value'=>$rec['VALUE']);
} else {
$params = $rec['VALUE'];
}
callMethodSafe($rec['LINKED_OBJECT'] . '.' . $rec['LINKED_METHOD'], $params);

+3
 
Discuss (1)