НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.5 >> [I128-2734] PHP Warning при поиске в АРМ Читатель с пустым полем "Я ищу"📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.5 | 🔘 Завершено |
Высший | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль EC - АРМ Читатель
Завершено: 27.07.2026 13:19
Проблема При выполнении поиска в АРМ Читатель пустое поле "Я ищу" могло передаваться в обработчик как строковый параметр. В этом случае сервер фиксировал PHP Warning при построении поискового запроса, хотя для пользователя пустое поле должно означать отсутствие дополнительных полнотекстовых терминов.
Сценарий воспроизведения
Ожидаемый результат Пустое поле "Я ищу" не участвует в полнотекстовой части запроса и не приводит к серверному предупреждению.
Причина Параметр ftexpression мог приходить из запроса как пустая строка. Существующая нормализация обрабатывала только непустую строку, поэтому пустая строка доходила до foreach.
Решение В ConstructECSearchRequest параметр ftexpression перед обработкой приводится к массиву: пустая строка становится пустым массивом, непустая строка разбивается на термины, массивные значения сохраняются.
Риски Изменение ограничено построением EC-поискового запроса. Поведение непустых полнотекстовых выражений и массива ftexpression[] сохраняется.