Новые дополнения и их версии
[UserTest] - новая версия. Добавлено событие OnTestCalculate.
Если не устраивает стандартная логика расчета (по сумме баллов), то теперь в UserTest можно реализовать свою логику расчета. Для этого добавлено событие OnTestCalculate. На него можно создать свой плагин.
Под катом пример плагина UserTestCalculate.
Под катом пример плагина UserTestCalculate.
msTimeStamp - Снятие метки новинка, особый или популярный по времени
Приложение добавляет дополнительное поле "действителен до" с выбором даты до которой будет действовать метка о том что товар Новинка, Особый или Популярный.
Проверка даты действия метки происходит во время входа пользователя на страницу. Если время действия метки истекло, то запись автоматически удаляется а у товара автоматически снимается метка.
Например можно установить у товара чекбокс Новинка и выбрать дату по наступлению которой товар перестанет быть новинкой
Проверка даты действия метки происходит во время входа пользователя на страницу. Если время действия метки истекло, то запись автоматически удаляется а у товара автоматически снимается метка.
Например можно установить у товара чекбокс Новинка и выбрать дату по наступлению которой товар перестанет быть новинкой
msPre - фильтры по опциям minishop2
[UserTest] - новая версия
Компонент UserTest потихоньку совершенствуется. В новой версии добавлены функции
- Сделаны отдельные таблицы вопросов и результатов теста. Их теперь можно прикреплять к нескольким тестам одновременно. Теперь не нужно делать кучу дубликатов вопросов и результатов.
- Управление порядком ответов и вывод ответов в случайном порядке.
- Валидация ответов на вопрос. Если стоит галочка «ответ обязателен», пользователь должен будет ответить на вопрос прежде чем перейти к следующим вопросам.
- Очистка приглашений.
- Крон оповещения о непройденном тесте для приглашенного пользователя.
- При переходе на новую страницу теста скрол в начало страницы.
Quiz или как не потерять клиента.
Что такое Quiz?
Quiz – в переводе с английского — это викторина, опрос.
Quiz — самая удобная форма для восприятия потенциального клиента, которая позволяет вам продать какой-либо товар(услугу) или получить необходимые данные от клиента.
[sOneDumper] 1.0.0-beta - Импорт/Экспорт резервных копий MySQL
Хочу представить вашему вниманию первую версию компонента sOneDumper, которая позволяет делать резервное копирование баз данных, а также восстанавливать копии из бекапа. За основу был взят более не поддерживаемый Sypex Dumper 2. Переписан скрипт полностью + добавлена поддержка PHP 7.1
Исходник лежит на GitHub.com
Исходник лежит на GitHub.com
[msPromoCode] 1.4.0 Фильтрация заказов по промокоду в списке miniShop2
Обновление затрагивает список заказов miniShop2, а именно форму для фильтрации, в которой можно указать параметр, по которому будет сделана выборка списка заказов.
В новой версии добавлено
Спонсор сего чуда Muscat Catering, все вместе их благодарим! А под катом скриншот того, как это выглядит и рекомендованное действие, которое нужно совершить после обновления компонента.
[jwtSession] Перенос сессии в куки браузера
Привет, друзья!
Вы задумывались, как работают сессии в MODX? Каждый раз, когда кто-то заходит на сайт, PHP генерирует ему уникальный id и сохраняет его в куку PHPSESSID. При этом в базе данных создаётся запись modSession с этим id и содержимым текущей сессии.
При каждом запросе на сайт передаётся кука с id, MODX делает запрос в БД, загружает сессию, а потом сохраняет в неё изменения. Минимум 2 запроса в БД каждый раз.
Что же нам предлагает JWT? Отказаться от всех этих действий на сервере, и выдавать всё нужное сразу в одном токене. Он может храниться в кукисах или в локальном хранилище браузера. Ну а дальше, при запросе, из него будет создана сессия пользователя. Соответственно, мы выкидываем работу с БД и не храним пользовательские сессии на сервере вовсе.
Конечно, сразу же встаёт вопрос — а что будет, если пользователь такую сессию подделает? Стандарт JWT ему этого не позволит. Токены можно прочитать, но не изменить, потому что они все подписаны надёжным алгоритмом с ключом на сервере, который пользователь не знает. Это теория, а теперь переходим к практике в MODX.
Вы задумывались, как работают сессии в MODX? Каждый раз, когда кто-то заходит на сайт, PHP генерирует ему уникальный id и сохраняет его в куку PHPSESSID. При этом в базе данных создаётся запись modSession с этим id и содержимым текущей сессии.
При каждом запросе на сайт передаётся кука с id, MODX делает запрос в БД, загружает сессию, а потом сохраняет в неё изменения. Минимум 2 запроса в БД каждый раз.
Что же нам предлагает JWT? Отказаться от всех этих действий на сервере, и выдавать всё нужное сразу в одном токене. Он может храниться в кукисах или в локальном хранилище браузера. Ну а дальше, при запросе, из него будет создана сессия пользователя. Соответственно, мы выкидываем работу с БД и не храним пользовательские сессии на сервере вовсе.
Конечно, сразу же встаёт вопрос — а что будет, если пользователь такую сессию подделает? Стандарт JWT ему этого не позволит. Токены можно прочитать, но не изменить, потому что они все подписаны надёжным алгоритмом с ключом на сервере, который пользователь не знает. Это теория, а теперь переходим к практике в MODX.
[logRotation] Ротация файла error.log (журнал ошибок MODX)
Дополнение избавляет от проблемы «разрастания» файла ошибок error.log
Ротация логов
На некоторых сайтах за годы работы скопилось огромное количество записей в журнале ошибок MODX. Файл error.log может «весить» гигабайты.Дополнение logRotation постоянно проверяет размер этого файла. Как только он превысит максимальный размер, указанный в системных настройках, плагин удалит старые записи и тем самым уменьшит размер файла.
Инструкция
Установите дополнение и в системной настройке logrotation_size укажите желаемый максимальный размер файла.Дополнение в modstore.pro.
[Jevix] Версия 1.3
Еще одно дополнение, которое давно не обновлялось.
Но тут случилось сразу 2 события:
— @Евгений Борисов собрал все фиксы в одном репозитории и опубликовал Jevix на packagist. Так что теперь его можно использовать в любых проектах через Composer.
— и @Fi1osof заметил недоработку с формированием ссылок со знаком @
Но тут случилось сразу 2 события:
— @Евгений Борисов собрал все фиксы в одном репозитории и опубликовал Jevix на packagist. Так что теперь его можно использовать в любых проектах через Composer.
— и @Fi1osof заметил недоработку с формированием ссылок со знаком @