Skip to content

fix(events): apply returned values after invokeEvent#245

Open
Ibochkarev wants to merge 1 commit into
modx-pro:betafrom
Ibochkarev:fix/event-returned-values-219
Open

fix(events): apply returned values after invokeEvent#245
Ibochkarev wants to merge 1 commit into
modx-pro:betafrom
Ibochkarev:fix/event-returned-values-219

Conversation

@Ibochkarev
Copy link
Copy Markdown
Member

Описание

Исправляет прямые вызовы modX::invokeEvent, где параметры передавались как будто по ссылке, но в MODX 3 такие мутации не попадали обратно в вызывающий код.

Теперь перед событиями очищается $modx->event->returnedValues, а после вызова явно применяются ожидаемые returnedValues для уведомлений, CSV-импорта и подготовки товаров. Для list-массивов возвращённое значение считается полной заменой, а ассоциативные массивы накладываются по ключам.

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Closes #219

Как это было протестировано?

Проверены изменённые PHP-файлы на синтаксис и diff на whitespace-ошибки.

  • Ручное тестирование
  • Автоматические проверки (php -l, git diff --check)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: текущая ветка beta
  • MODX: не запускался локально
  • PHP: локальный CLI

Скриншоты (если применимо)

Не применимо.

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en) / не применимо
  • PHPStan проходит без новых ошибок
  • ESLint проходит без ошибок (для JS/Vue изменений)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

ReadLints показывает существующие Intelephense-диагностики по MODX/xPDO типам и динамическим методам; новых синтаксических ошибок не обнаружено.

@Ibochkarev Ibochkarev requested a review from biz87 May 8, 2026 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Event mutation silently dropped: unified audit of invokeEvent callers that expect by-ref mutation

1 participant