AdPar — ядро модулей выгрузки товаров
Версия 3.8.5
7 октября 2026
- Административный раздел: проверка прав на модуль до выполнения любых действий, защита от подделки запросов (sessid);
- Устранены уязвимости: выполнение внешней команды в проверке требований, удаление произвольного файла при очистке логов, вывод неэкранированных данных;
- Фильтры списков принимают только известные колонки и операторы, агент очереди выполняет только известные задачи, кэш читается без восстановления объектов;
- Удалён неиспользуемый класс проверки лицензии;
- Настройки из формы сохраняются только по списку полей формы;
- Агент очереди больше не завершает работу сайта при отсутствии модулей catalog/sale и не авторизует посетителя администратором;
- Таймауты при скачивании изображений и соединении с SOAP-сервисами;
- Оптимизированы запросы выгрузки товаров и свойств, повышена устойчивость загрузки изображений;
- Устранена возможная остановка очереди агентов импорта;
- Карточка товара, сопоставленного нескольким поставщикам, открывается без ошибки; в характеристики не попадают данные других товаров с тем же кодом;
- Изображения, файлы которых пропали с диска, загружаются повторно;
- Миграция ключей базы данных (запуск из раздела модуля): удаление дублей товаров и характеристик, ключи с учётом поставщика, уменьшение таблицы характеристик;
- Установка модуля на MySQL 8.4;
- Миграция ключей снимает устаревшие уникальные ключи без поставщика (одинаковый код товара у двух поставщиков);
- Очередь задач: свойства товаров загружаются раньше изображений;
- Настройки модуля, вкладка «Агенты»: пауза агентов модуля без отключения агентов вручную;
- Ускорена загрузка изображений: пауза между запросами к серверу изображений поставщика 0,1 с вместо 0,25 с перед каждым файлом;
- Изображения, изменившиеся у дистрибьютора, загружаются заново (для дистрибьюторов, которые сообщают об изменениях);
- Перенос товаров в каталог: убрана лишняя проверка свойства на каждом товаре, бренды поставщика сверяются один раз за перенос;
- Экранирование вывода на страницах установки и удаления модуля;
- Восстановлена ежедневная очистка журналов старше 7 дней;
- Общая настройка «Товары с нулевым остатком» снова действует для поставщиков, наследующих её;
- Конструктор названий подставляет свойства, стоящие рядом или в скобках;
- Перенос в каталог: товар не дублируется, если у двух поставщиков совпадают коды категорий; сводка свойств и связи с разделами — только своего поставщика;
- Новый бренд назначается уже первому товару бренда; цена для сортировки и фильтра заполняется и при РРЦ; символьный код не длиннее 255 символов;
- Остаток пропавшего у поставщика товара обнуляется и при единственном складе поставщика;
- Меньше нагрузки при переносе больших каталогов: активируются и деактивируются только изменившиеся товары;
- Резервирование: задачи разных заказов больше не отменяют друг друга, подтверждение резерва уходит поставщику задачи;
- Ошибка при переустановке модуля не удаляет сохранённые таблицы; задача очистки журналов не дублируется;
- Страница «Проверка системы» и поставщики без загрузки дополнительных данных больше не пишут ошибки в журнал; исправлены предупреждения PHP 8 в настройках и списках;
- Очередь задач: такая же ещё не начатая задача не ставится повторно; снятие и восстановление резерва одного заказа взаимно отменяются;
- Блокировки очереди и миграции ключей привязаны к базе данных: сайты на одном сервере MySQL не останавливают очереди друг друга;
- Изменённые настройки модуля действуют со следующего запуска загрузки, без перезапуска агентов;
- Агент в консоли работает от первого активного администратора сайта (раньше — всегда от пользователя с ID 1);
- Пароли и токены сохраняются без изменений (раньше из них вырезались символы, похожие на HTML-теги); числовые поля настроек проверяются при сохранении;
- Проверка прав пользователя базы данных при установке выполняется на пробной таблице;
- Признак нового товара при загрузке данных товара снимается после ответа поставщика;
- Загруженный файл изображения всегда проверяется по содержимому: страница ошибки сервера по ссылке на картинку не попадает в карточку;
- При включённой деактивации товаров без остатка новый товар с нулевым остатком создаётся неактивным;
- При удалении карточки, деактивированной дольше заданного срока, товары поставщиков отвязываются от неё;
- Карточку, выключенную вручную, модуль больше не включает; финализированные карточки модуль по активности не трогает;
- Запрет изменения активности элемента действует только на изменения из AdPar, ручное включение и выключение проходят;
- Товар в дополнительном привязанном разделе не выключается в конце прогона;
- Варианты написания бренда (регистр, дефисы, пробелы) объединяются в один бренд: одно включение на бренд, в каталог — одно имя;
- Все варианты «без бренда» (NONAME, No Name, пусто) — один бренд каталога, его имя задаётся в настройках;
- Новая страница «Синонимы брендов»: загрузка бренда по поставщикам, объединение брендов (MSI и MicroStar) с подсказками по общим партномерам;
- Изменения в разделе модуля (настройки, категории, свойства, бренды, агенты, сброс кэша) — только пользователям с правом записи на модуль; с правом чтения раздел открывается для просмотра;