[I128-2731] Небезопасное чтение настроек News в TestA


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.5 >> [I128-2731] Небезопасное чтение настроек News в TestA📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2.5 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: Нет

Завершено: 24.07.2026 17:48

Проблема:

В тестовом модуле TestA настройки новостной ленты читались напрямую из $OPTIONS['News']('News'). Если общий массив настроек не был инициализирован, был равен null или секция News имела неожиданный тип, открытие административной панели или редактора записи могло приводить к предупреждениям PHP и ошибкам статического анализа.

Решение:

TestA продолжает использовать настройки News в штатном сценарии, но теперь безопасно обрабатывает неполную конфигурацию: при отсутствии корректной секции News модуль использует пустой идентификатор ленты и пустой список выбора. Это сохраняет запуск TestA и не меняет внешний контракт заполненной конфигурации.

Технические подробности:

В modules/TestA/api.php чтение $OPTIONS['News']('News') вынесено в общий helper с проверкой типа $OPTIONS и вложенной секции News. Значение defnid и список nid получаются через безопасные методы, поэтому прямые обращения к nullable/non-array options из целевых точек Phan устранены.