4.6.3

Новая функциональность и улучшения

[+] Дизайн: Добавлена новая версия WYSIWYG-редактора Redactor (2.8.1).

[+] Редактор документов: Добавлен атрибут {p.raw.tax} с неформатированным значением суммы налога; этот атрибут доступен в объектах с вкладки “Таблица товаров” при редактировании документа.

[+] Редактор документов: Добавлена новая языковая переменная для заголовка счёта.

[+] Управление заказами: Добавлена возможность найти и выбрать покупателя при создании заказа путём ввода части имени.

[+] Хуки: Добавлены новые хуки “update_discussion_pre”, “add_discussion_posts_post”, “update_discussion_post_post”.

Изменения в существующей функциональности

[*] Дизайн: Темы: Тема Responsive: Изменены названия некоторых оболочек, которые можно выбрать для блоков. Названия TPL-файлов этих оболочек не изменились.

[*] Модули: CommerceML: Добавлена возможность загрузки изображений для комбинаций опций.

[*] Модули: Edost: Удалены службы доставки ИдеаЛоджик, InPost. Добавлены новые тарифы: Международная почта, Бандероль.

[*] Модули: Вариации товаров [Beta]: В демо-данные добавлен товар с вариациями.

[*] Модули: Вариации товаров [Beta]: Для товаров с вариациями на странице сравнения изменена кнопка с “Выберите опции” на “В корзину”.

[*] Модули: Вариации товаров [Beta]: Теперь характеристики сравниваемых вариаций отображаются на странице со списком сравнения.

[*] Модули: Модули “Калькулятор стоимости доставки eDost.ru” и “Служба доставки — СДЭК” теперь зависят от модуля “Города”.

[*] Модули: СДЭК: Добавлены новые тарифы СДЭК: Китайский экспресс, Экспресс лайт, Экспресс тяжеловесы, Супер-экспресс.

[*] Хуки: Модули: Баннеры: get_banners: Для хука добавлена возможность изменять список полей до выборки баннеров.

[*] Ядро: Robots: Тип поля “data” в таблице “robots_data” изменён с “blob” на “text”.

[*] {#6790} Модули: Российские способы оплаты: Assist: В настройки способа оплаты добавлена возможность указать тестовый или рабочий URL для Assist.

Исправления ошибок

[!] Безопасность: Шаблоны темы могли быть удалены за счет использования CSRF-уязвимости в Редакторе шаблонов. Исправлено.

[!] Дизайн: Макеты: Блок с шаблоном “Текстовые ссылки” неверно отображался на мобильных устройствах, если у блока была включена настройка “Отображать элементы в одну строку”. Исправлено.

[!] Документы: Счёт: В счёте не отображался дополнительный сбор для способа оплаты. Исправлено.

[!] Заказы: Отчеты о продажах: Отчет по налогам выдавал ошибку, если выбрать “Пункты назначения” в качестве “Объекта для анализа”. Исправлено.

[!] Заказы: Счёт: Если редактировать заказ или менять его статус, пока в панели администратора выбрана валюта, не соответствующая заказу, то счёт клиенту отправлялся в неверной валюте. Исправлено.

[!] Изображения: Миниатюры: Иконки товаров, сгенерированные из изображений, снятых в портретном режиме, отображались повёрнутыми на 90 градусов. Исправлено.

[!] Маркетинг: Промо-акции и скидки: Коды купонов с нелатинскими буквами были регистрозависимыми. Исправлено.

[!] Маркетинг: Промо-акции и скидки: При добавлении товара с опциями в условие промо-акции страница прокручивалась на самый верх. Исправлено.

[!] Модули: Boxberry: На странице оформления заказа неверно отображались ПВЗ, если город с таким же названием был в другом регионе. Исправлено.

[!] Модули: Boxberry: Получение рассчитанной стоимости доставки происходило слишком долго. Исправлено.

[!] Модули: CommerceML: Детальные изображения товаров с водяными знаками не обновлялись, если в импортируемом файле у изображений были такие же названия. Исправлено.

[!] Модули: CommerceML: Для импортируемых товаров с нулевой ценой и заданной ценой для группы пользователей в магазине отображалась кнопка добавления в корзину. Исправлено.

[!] Модули: CommerceML: При выгрузке товаров с нулевым количеством в магазин из системы “Мой Склад” со включенной настройкой “Скрывать товары, которых нет в наличии”, у товаров всё равно был статус “Вкл.”, а не “Скрыто”. Исправлено.

[!] Модули: CommerceML: При импорте нескольких цен товаров выполнялась обработка только одной цены. Исправлено.

[!] Модули: CommerceML: У всплывающего окна редактирования валюты был неверный заголовок. Исправлено.

[!] Модули: Divido: Если в корзине после расчета доставки перейти к оформлению заказа, то возникала ошибка PHP Notice. Исправлено.

[!] Модули: Google reCaptcha: При включенном модуле меню могло съезжать за границы экрана на мобильных устройствах. Исправлено.

[!] Модули: SEO: Если у дочерней страницы в SEO-имени было слово “page-”, то при просмотре этой страницы отображалось содержимое родительской страницы. Исправлено.

[!] Модули: Searchanise: В хуке “fn_searchanise_tools_change_status” вызывалась несуществующая функция. Исправлено.

[!] Модули: Searchanise: Если на странице списка категорий изменить статус у какой-либо категории, то это не влияло на то, отображается ли категория в виджете. Исправлено.

[!] Модули: YML экспорт: В прайс-лист выгружалась только часть товаров, если количество товаров было больше, чем указано в константе ITERATION_OFFERS в файле app/addons/yml_export/config.php. Исправлено.

[!] Модули: YML экспорт: Если для настройки “Безопасное соединение для витрины” было указано значение “Включить для всего сайта”, то при запуске экспорта через консоль у ссылок в прайс-листе был неверный протокол. Исправлено.

[!] Модули: YML экспорт: При массовом редактировании поля “YML Исключить экспорт” его значение изменялось для всех товаров в магазине. Исправлено.

[!] Модули: АТОЛ Онлайн: Если на сервере магазина использовался PHP 5.3, то магазин не мог обработать данные, получаемые от АТОЛ Онлайн. Исправлено.

[!] Модули: Баннеры: На слайдере с баннерами была видна очень узкая часть следующего баннера. Исправлено.

[!] Модули: Бонусные баллы: После импорта товара со значением Y в поле “Override points” количество баллов, начисляемых за заказ этого товара, всё равно рассчитывалось по общим правилам. Исправлено.

[!] Модули: Вариации товаров [Beta]: Блок с товарами отображался неверно на детальной странице товара с вариациями. Исправлено.

[!] Модули: Вариации товаров [Beta]: Если преобразовать обычный товар в настраиваемый и сразу перейти к предпросмотру, то возникала ошибка PHP Notice. Исправлено.

[!] Модули: Вариации товаров [Beta]: Заказы: Редактирование и сохранение заказа, в котором была куплена вариация, которой больше нет в наличии, приводило к тому, что заказ получал статус “Отложен”. Исправлено.

[!] Модули: Вариации товаров [Beta]: Импорт/Экспорт: Характеристики вариаций товаров не экспортировались в CSV-файлы на версии PHP 5.3. Исправлено.

[!] Модули: Вариации товаров [Beta]: Когда модуль был установлен, то при попытке просмотра несуществующего заказа возникали ошибки PHP Notice. Исправлено.

[!] Модули: Вариации товаров [Beta]: При генерации вариаций для товара порядок опций был неверным. Исправлено.

[!] Модули: Ограничение по возрасту: SQL-запрос формировался не по правилам написания кода CS-Cart. Исправлено.

[!] Модули: Отзывы и комментарии: Когда значение настройки “Отзывы” изменялось массово для нескольких выбранных категорий сразу, изменения не сохранялись. Исправлено.

[!] Модули: Платежи через PayPal: Оформление заказа: Если в одной категории с PayPal Express Checkout были другие способы оплаты, то после закрытия всплывающего окна PayPal In-Context Checkout, выбора другого способа оплаты, а затем повторного выбора PayPal Express Сheckout вместо повторного открытия всплывающего окна пользователь перенаправлялся на страницу оплаты PayPal. Исправлено.

[!] Модули: Почта России: Если были установлены демо-данные, перевод языковой переменной carrier_russian_post не отображался. Исправлено.

[!] Модули: Рассылки: Кампании: Если было несколько кампаний, то отображалась неверная статистика кампании. Исправлено.

[!] Модули: Рассылки: Когда удалялся последний существующий список рассылки, возникала ошибка. Исправлено.

[!] Модули: Российские способы оплаты: При выборе способа оплаты с процессором “Выставить счет” не подставлялись значения полей профиля, выбранных в настройках способа оплаты. Исправлено.

[!] Модули: Самовывоз: Если в настройках способа оплаты было указано, что пункты самовывоза должны отображаться списком, а шаг “Способ оплаты” для оформления заказа был отключен, то в заказе не сохранялся выбранный пункт самовывоза. Исправлено.

[!] Модули: СДЭК: При включенном модуле СДЭК для всех отгрузок выполнялось формирование данных СДЭК. Исправлено.

[!] Модули: Яндекс.Доставка: Если были одновременно включены модули “Адрес на карте” и “Яндекс.Доставка”, то на странице оформления заказа поля “Страна”, “Область/район”, “Город” не заполнялись автоматически. Исправлено.

[!] Опции товаров: Разрешённые комбинации: Последовательный тип опций: Если добавить разрешённую комбинацию со значением “Можно выбрать любой из вариантов” для первой опции, то эту комбинацию нельзя было выбрать на детальной странице товара на витрине. Исправлено.

[!] Оформление заказа: Если при оформлении заказа создать новый профиль для пользователя, то способы оплаты не отображались. Исправлено.

[!] Панель администратора: Заказы в панели инструментов не отображались, если в календаре была выбрана конкретная дата, а не период. Исправлено.

[!] Панель администратора: Список заказов на главной странице (панели инструментов) мог отображаться неверно для администраторов с ограниченными привилегиями. Исправлено.

[!] Письма: Уведомление о том, что товар снова в наличии, всегда отправлялось с основной витрины товара, даже если покупатель подписался на уведомления на другой витрине. Исправлено.

[!] Сессии: Redis: Время жизни сессии было установлено неверно, в итоге это могло привести к удалению данных сессии сразу же после записи и невозможности авторизоваться. Исправлено.

[!] Способы доставки: Если для способа доставки и для товара была включена бесплатная доставка, а в настройках способа доставки был указан минимальный вес заказа больше 0, то способ доставки не был доступен при оформлении заказа на витрине. Исправлено.

[!] Товары: Комбинации опций: Изображение комбинации не отображалось на 32-битных системах, если номер комбинации превышал 2147483647. Исправлено.

[!] Товары: При изменении статуса товара на списке товаров, а также при изменении, добавлении или удалении опции или варианта опции товара не изменялся “updated_timestamp” этого товара. Исправлено.

[!] Товары: У товара удалялись параметры доставки после изменения его цены на списке товаров. Исправлено.

[!] Управление заказами: Если при создании заказа в Панели администратора был выбран покупатель для этого заказа, то покупателя нельзя было изменить, пока заказ не был создан. Исправлено.

[!] Управление заказами: Не приходили уведомления на электронную почту при редактировании заказа в браузере Internet Explorer 11. Исправлено.

[!] Фильтры товаров: Если у фильтра по характеристике с типом “Число” было выбрано значение 1 в параметре “Округлять до”, а минимальное и максимальное значение слайдера отличалось на 1, то такой фильтр становился недоступным. Исправлено.

[!] Центр обновлений: Миграции не применялись, если в настройках подключения к базе данных не указывался порт, а значение mysqli.default_port отличалось от 3306. Исправлено.

[!] Шаблоны email-уведомлений: Заказы: Доступ к цифровым товарам: Первая ссылка в письме вела на список всех доступных для пользователя файлов, а не на список файлов из конкретного заказа. Исправлено.

[!] Экспорт/Импорт: Оптовые скидки: Если в магазин с одной витриной импортировались оптовые цены для товаров, а затем для этих же товаров импортировались новые обычные цены, то отображаемая цена у этих товаров отличалась на списке товаров в панели администратора и на странице редактирования товара/на витрине. Исправлено.

[!] Ядро: Функция “fn_format_price_by_currency” передавала неверный параметр в функцию “fn_format_price”. Исправлено.

[!] REST API: Заказы: Когда покупатель размещал заказ через REST API, он также назначался менеджером этого заказа. Исправлено.

[!] {#6764} Экспорт/Импорт: Характеристики: Если характеристики с одинаковыми названиями импортировались для разных витрин в режиме “Все магазины”, то характеристика создавалась только на одной витрине, а другие витрины только получали к ней доступ. Исправлено.

[!] {#6809} Модули: Конструктор прайс-листов: Даже если у прайс-листа была включена настройка “Исключить неактивные товары”, выключенные товары всё равно могли экспортироваться. Исправлено.

[!] {#6842} REST API: Users: Чтобы обновить пароль пользователя, необходимо было отправить соль и пароль в виде хеша MD5. Исправлено в api/4.0/users: там можно передавать новый пароль в виде обычного текста.

[!] {#6850} Модули: Отзывы и комментарии: Когда thread_id не передавался, возникала ошибка PHP Notice. Исправлено.

[!] {#6861} Модули: Вариации товаров [Beta]: Поле “Бесплатная доставка” не появлялось при редактировании нескольких вариаций одновременно. Исправлено.

[!] {#6867} Группы пользователей: Привилегии: В некоторых случаях глобальный поиск в панели администратора не работал для администраторов, у которых были ограниченные привилегии. Исправлено.

[!] {#6871} Модули: Отзывы и комментарии: Когда была включена настройка “Отображать обсуждения на всех витринах”, то для общих товаров неверно считался рейтинг на их детальных страницах на витрине. Исправлено.

[!] {#6881} {#6888} {#6889} Оформление заказа: Поля профиля: Не сохранялись данные, введённые в нестандартные поля профиля при оформлении заказа. Исправлено.

[!] {#6884} Товары: Опции: У товаров с опциями не изменялось главное изображение при выборе другой комбинации опций или вариации товара. Исправлено.

[!] {#6890} Отчеты о продажах: Рядом с каждым товаром в отчёте отображалась неверная скидка, если в отчёте было несколько товаров из одного заказа. Исправлено.

[!] {#6892} Модули: Подтверждение на обработку персональных данных (152-ФЗ): Название кнопки подтверждения отображалось неверно. Исправлено.

[!] {#6903} Валюты: Если Yahoo! не возвращал курсы валют, то возникали ошибки JS, а боковая панель “Курсы валют онлайн” все равно отображалась, но без курсов. Исправлено.

[!] {#6913} Модули: SEO: SEO-имена товаров, созданные для стандартного языка витрины, могли создаваться с суффиксом языка. Исправлено.

[!] {#6919} {#6921} Способы доставки: USPS: Стоимость доставки не отображалась при расчете с помощью First-Class Mail. Исправлено.

[!] {#6928} {#6934} Макеты: Блоки: Меню: Элементы подменю не всегда выделялись при выборе, если они были сгенерированы динамически, например, на основе категорий.

[!] {#6931} Модули: Google reCaptcha: Иногда reCaptcha не загружалась на витрине. Исправлено.

Сервис-паки

4.6.3.SP1

[!] Безопасность: Была уязвимость, благодаря которой злоумышленник мог при определённых условиях получить доступ к панели администратора. Исправлено.