SendIt
sendit
About
At a glance
MODX 3 compatibility unknown. Based on our testing and community reports where available.
- Developer Артур Шевченко
- Latest release October 15, 2026 (18 days ago)
- First seen in SiteDash August 22, 2023 (3 years ago)
- License GPLv2
- MODX support 2.8+
- Databases MySQL
| Changelog | |||
|---|---|---|---|
| modstore.pro |
3.1.1-pl |
April 13, 2026
6 months ago |
— |
| modstore.pro |
2.10.0-pl |
October 15, 2026
18 days ago |
|
|
2.10.0-pl<br />
==============<br /> - Добавил вход и регистрацию по одноразовому коду (только MODX 2): сниппет siSendCode, валидатор<br /> siCheckCode, хук siCodeIdentification, пресеты code_send, code_send_register, code_auth,<br /> code_register, пример формы siExampleCodeAuthForm. Код хранится HMAC-хэшем под ключом получателя,<br /> а не сессии; лимиты codeTtl, codeResendDelay, codeAttempts, codeHourlyLimit, codeLength задаются<br /> в пресете. Телефон ищется по цифрам, без учёта маски в профиле.<br /> - Доставку кода пакет не реализует: проект пишет класс с интерфейсом siCodeSender (SMS, Telegram,<br /> почта) и подключает его настройками si_code_sender, si_code_sender_path или параметрами пресета<br /> codeSender, codeSenderPath.<br /> - Добавил события siOnBeforeSendCode (подменить код или запретить отправку) и siOnCodeLogin.<br /> - Добавил сохранённую корзину покупателя (таблица si_user_carts, действие savecart): корзина<br /> сохраняется на событиях корзины miniShop2 и возвращается при входе с другого устройства;<br /> совпавшая позиция получает большее количество, а не сумму. Работает при ms2_tmp_storage=session.<br /> - Добавил заявку на возврат из кабинета (действие return, пресет order_return): выбор позиций<br /> и количества, причина, комментарий. Настройки si_cabinet_return_statuses и<br /> si_cabinet_return_days. Что делать с заявкой, решает проект на siOnUserCabinetAction<br /> (method requestReturn).<br /> - Параметр пресета reloadPage работает для любых пресетов, а не только кабинета.<br /> - Добавил настройку si_cabinet_page_id — страница кабинета. Пресеты входа и регистрации (auth,<br /> sms_auth, sms_register, code_auth, code_register, afterLoginRedirectId в register) ведут на неё<br /> значением redirectTo = cabinet, менять пресеты под проект не нужно. По умолчанию 5, как было<br /> зашито в пресетах; 0 — без перехода. ID или URL в пресете по-прежнему важнее настройки.<br /> - Чанки кабинета и примеры форм свёрстаны в стиле остальных примеров пакета.<br /><br /> 2.9.0-pl<br /> ==============<br /> - Добавил работу покупателя с заказами miniShop2 (только MODX 2): список заказов с составом<br /> (сниппет siUserOrders, render пресета user_orders с пагинацией), перенос позиций в корзину,<br /> повтор с переходом на страницу оформления, оплата существующего заказа через его способ<br /> оплаты, отмена. Пресеты order_tocart, order_repeat, order_pay, order_cancel.<br /> - Добавил адреса доставки покупателя (таблица si_user_addresses, сниппет siUserAddresses):<br /> сохранение, удаление, адрес по умолчанию и быстрый выбор на странице оформления. Пресеты<br /> address_save, address_remove, address_default, address_apply. JS-модуль OrderFields<br /> заполняет форму #msOrder выбранным адресом.<br /> - Выбранные в кабинете поля держатся в сессии SendIt и подставляются на msOnBeforeAddToOrder,<br /> пока покупатель не поправит поле сам; без выбора подставляется адрес по умолчанию.<br /> - Набор действий кабинета настраивается в системных настройках: si_cabinet_actions,<br /> si_cabinet_checkout_id, si_cabinet_cancel_statuses, si_cabinet_pay_statuses.<br /> - Добавил события siOnBeforeUserCabinetAction (поправить данные действия или запретить его)<br /> и siOnUserCabinetAction (после выполнения).<br /> - Работа идёт через контракт miniShop2 (cart->add, order->add, changeOrderStatus,<br /> msPayment::send), без привязки к конкретным обработчикам корзины и заказа.<br /><br /> 2.8.6-pl<br /> ==============<br /> - SECURITY: известные SQLi-последовательности в полях SendIt отклоняются до запуска<br /> snippet-а; ответ формы не раскрывает правило срабатывания.<br /> - SECURITY: прежняя «санитизация» молча вырезала слова и символы из легитимного текста,<br /> но не закрывала SQL-инъекции. Входные значения теперь сохраняются без SQL-экранирования;<br /> SQL-безопасность кода snippet-а обеспечивают только prepared statements.<br /> - TESTS: добавлены автономные проверки нормализации и блокировки известных SQLi.<br /><br /> 2.8.5-pl<br /> ==============<br /> - FIX: Восстановление пароля через PasswordReset больше не сжигает ссылку до проверки<br /> срока действия и успешного сохранения пользователя. Повторный переход по ссылке в<br /> пределах TTL выставляет тот же временный пароль, поэтому предпросмотр письма или<br /> антивирус не ломает сброс для пользователя.<br /> - FIX: Ручная смена пароля через update очищает временный пароль восстановления, чтобы<br /> старая ссылка не могла откатить пароль назад.<br /> - FIX: Исправлен fallback срока действия ссылки восстановления при пустом activationUrlTime.<br /> - DOCS: Добавлен пример вывода нового временного пароля на странице activationResourceId<br /> через результат некешируемого PasswordReset.<br /><br /> 2.8.4-pl<br /> ==============<br /> - Закрыл запись файла с произвольным именем и путём через публичный экшен uploadChunk:<br /> имя из заголовка X-CONTENT-NAME больше не подставляется в путь. Приём чанка разрешён<br /> только для файла, который прошёл serverside-валидацию (validate_files) в этой же сессии,<br /> с теми же расширением, размером и пресетом; все пути проверяются на принадлежность<br /> каталогу загрузок сессии до создания каталога и записи.<br /> - Закрыл удаление произвольного файла через removeFile: путь проверялся вхождением<br /> session_id в строку, поэтому uploaded_files/{sid}/../../../core/config/config.inc.php<br /> проходил проверку. Теперь путь канонизируется и обязан остаться внутри каталога<br /> загрузок сессии. Флаг forceRemove для внутренних вызовов сохранён.<br /> - Закрыл path traversal в attachFiles(): список файлов из POST подставлялся в путь<br /> без проверки.<br /> - Добавил серверную нормализацию имён файлов (транслитерация без ext-intl, kebab-case,<br /> нижний регистр расширения, лимит длины) и обезвреживание исполняемых расширений:<br /> shell.php -> shell-php, shell.php.jpg -> shell-php.jpg.<br /> - Добавил событие siOnSanitizeFileName: проект может задать свои правила именования<br /> вплоть до полного переименования файла и раскладки по подкаталогам. Параметры: name<br /> (оригинал), sanitized (имя по правилам пакета), extension, directory, context,<br /> formName, presetName, SendIt; ответ — returnedValues['name'], пустой ответ означает<br /> "дефолт устраивает". Имя, вернувшееся из плагина, в любом случае проходит<br /> security-постфильтр пакета.<br /> - validate_files возвращает карту data.names (исходное имя -> имя на сервере), клиентский<br /> загрузчик работает по ней. На сервер теперь уходит исходное имя файла, чтобы плагин<br /> проекта получал оригинал, а не результат клиентской транслитерации.<br /> - Удаление файла, загрузка которого не завершилась, убирает каталог его чанков, а не<br /> каталог сессии целиком.<br /><br /> 2.8.3-pl<br /> ==============<br /> - Исправил PHP warning "Undefined array key onestepform" в SendIt::getExtends() —<br /> обращение к несуществующему пресету при extends теперь через `?? []`.<br /> - Исправил PHP warning "Undefined array key siSession" в плагине sendit (OnHandleRequest) —<br /> чтение cookie заменено на `empty($_COOKIE['siSession'])`.<br /><br /> 2.8.2-pl<br /> ==============<br /> - Логирование переведено на mxLogger (единственный приёмник). Добавлен класс siLogger<br /> (services/siLogger.class.php), делегирующий записи сервису mxLogger; если он не<br /> установлен — один раз предупреждает в журнале MODX и молчит.<br /> - Новые настройки: si_debug (вкл/выкл, включено из коробки) + si_log_level (минимальный<br /> уровень debug|info|warning|error, по умолчанию error). Консистентно с mxlogger.min_level.<br /> - Тэги: базовые sendit + forms, этапные auth / preset / session. Боевые вызовы $modx->log<br /> (пресеты, таблица сессий, авторизация) переведены в логгер с нужным уровнем; дамп<br /> логина/пароля при ошибке авторизации убран (теперь debug без значений полей).<br /> - Скрипт modxbuilder/sendit/_mk_setting.php для создания настроек в БД стенда.<br /><br /> 2.8.1-pl<br /> ==============<br /> - Исправил блокировку модуля UserBehaviorTracker корпоративными прокси/DLP по имени файла (ошибка 499): модуль переименован в SessionLogger, cookie `siubt` → `sisl`.<br /> - Убрал re-throw в Main._initModule — при падении любого модуля приложение продолжает инициализацию (graceful fallback), ошибка только логируется в console.error.<br /><br /> 2.8.0-pl<br /> ==============<br /> - Добавил защиту Proof of Work (PoW) — клиент решает криптографическую задачу перед отправкой, что делает спам экономически невыгодным.<br /> - Добавил шифрованную подпись поведения (Encrypted Behavioral Signature) — результат анализа UserBehaviorTracker шифруется AES-128-GCM и проверяется на сервере.<br /> - Добавил отслеживание времени заполнения формы (formFillTime) — защита от мгновенной отправки ботами.<br /> - Добавил параметры пресетов: usePoW, powDifficulty, useBehaviorSign, minFillTime, maxBotScore.<br /> - Добавил per-preset карту защиты (protectionMap) — клиент применяет защиту только для тех форм, где она включена в пресете.<br /> - Добавил ротацию challenge и ключа шифрования после каждой успешной отправки (one-time use).<br /> - Добавил JS модули ProofOfWork и BehaviorSign.<br /><br /> 2.7.3-pl<br /> ==============<br /> - Вернул в конфиг QuizForm параметр nosaveAttr.<br /> - Добавил проверку на тип значения перед вставкой сохраненных данных.<br /> - Добавил загрузку скриптов в админке<br /><br /> 2.7.2-pl<br /> ==============<br /> - Добавил событие JS 'si:send:reset:after', которое срабатывает после сброса формы.<br /> - Исправил ошибку удаления загруженных файлов.<br /><br /> 2.7.1-pl<br /> ==============<br /> - Сделал обязательным указание пресета, даже дефолтного, чтобы предотвратить ненужные отправки<br /> - Изменил порядок сохранения данных из чекбоксов и переключателей.<br /><br /> 2.7.0-pl<br /> ==============<br /> - Переработал невидимую капчу.<br /> - Добавил возможность использовать кастомный session_id вместо стандартного.<br /><br /> 2.6.0-pl<br /> ==============<br /> - Добавил класс UserBehaviorTracker для анализа поведения пользователя.<br /><br /> 2.5.0-pl<br /> ==============<br /> - Поменял порядок проверки на Email.<br /> - Добавил системное событие senditOnSetValue.<br /><br /> 2.4.9-pl<br /> ==============<br /> - Доработал добавление HTML в блоки.<br /><br /> 2.4.8-pl<br /> ==============<br /> - Исключил из проверки на SQL-инъекции email.<br /><br /> 2.4.7-pl<br /> ==============<br /> - Исправил ошибку вызова метода loadScript().<br /> - Добавил возможность запоминать пользователя при авторизации без пароля.<br /> - Добавил дополнительную санитизацию входящих данных для защиты от SQL инъекций.<br /><br /> 2.4.6-pl<br /> ==============<br /> - Сделал метод getWebConfig() публичным.<br /><br /> 2.4.5-pl<br /> ==============<br /> - Добавил селектор пресета в конфиг.<br /><br /> 2.4.4-pl<br /> ==============<br /> - Вынес инициализацию события 'si:init' в индексный файл.<br /><br /> 2.4.3-pl<br /> ==============<br /> - Сделал webConfig public.<br /><br /> 2.4.2-pl<br /> ==============<br /> - Исправил определение версии скриптов.<br /> - Переписал инициализацию с учётом того, что метод getInstance() возвращает промис.<br /><br /> 2.4.1-pl<br /> ==============<br /> - Сделал так чтобы метод getInstance дожидался полной инициализации перед возвращением экземпляра.<br /><br /> 2.4.0-pl<br /> ==============<br /> !!! ОБНОВЛЯЙТЕСЬ С ОСТОРОЖНОСТЬЮ. ЕСЛИ ИСПОЛЬЗОВАЛИ КАСТОМНЫЙ КОНФИГ, ПЕРЕПИШИТЕ ЕГО В СООТВЕТСТВИИ С НОВВОЙ ВЕРСИЕЙ !!!<br /> - Немного переписал JS, чтобы модули подключались только если на странице есть хотя бы один элемент с селектором из поля конфигурации модуля rootSelector.<br /> - Метод Sending.prepareSendParams() заменён на метод Sending.sendRequest(), при этом обратная совместимость сохранена.<br /> - Метод Sending.send() заменён на метод Sending.fetch(), при этом обратная совместимость сохранена.<br /> - Добавил версионирование скриптов.<br /> - Добавил событие senditOnGetWebConfig для возможности прокидывать свои и изменять стандартные параметры веб конфига<br /><br /> 2.3.1-pl<br /> ==============<br /> - Добавил сброс ответа от сервера в JS.<br /><br /> 2.3.0-pl<br /> ==============<br /> - Обновил iziToast до 1.5.0<br /> - Добавил событие JS 'si:notify:before', которое позволяет задать опции показа уведомлений.<br /> - Поместил ответ сервера в свойство объекта Sending, теперь ответ сервера доступен где угодно так SendIt.Sending.result<br /> - Исправил ошибку автологина сразу после регистрации.<br /><br /> 2.2.5-pl<br /> ==============<br /> - Добавил возможность динамически выводить общее количество результатов указав в вёрстке блок с атрибутом [data-pn-total-results="presetName"]<br /> - Добавил возможность указывать ключи лексиконов для передачи сообщений и имён полей. Для этого нужно в параметрах сниппета указать ключ useLexicons<br /> в значении нужно перечислить через запятую пространства имён и темы для загрузки лексиконов в формате namespace:topic<br /><br /> 2.2.4-pl<br /> ==============<br /> - Исправил ошибку при которой уже загруженный файл добавлялся в список даже если общее количество при этом превышает допустимое.<br /><br /> 2.2.3-pl<br /> ==============<br /> - Правки предупреждений в PHP 8.<br /> - Добавил возможность передавать в качестве значения в поле из параметра userGroupsField строку с разделителем 'запятая'<br /><br /><br /> 2.2.2-pl<br /> ==============<br /> - Для облегчения перехода с AjaxForm сделал параметр form синонимом параметра tpl.<br /><br /> 2.2.1-pl<br /> ==============<br /> - Исправил ошибку совместимости с ClientConfig в MODX 3.*<br /> - Если вы используете ClientConfig нужно добавить задачу в крон, которая запустит скрипт core/components/sendit/cron/run.php<br /><br /> 2.2.0-pl<br /> ==============<br /> - Добавил возможность генерации username при регистрации, для этого нужно не указывать в пресете параметр usernameField.<br /> - Добавил возможность авторизовать пользователя по любому полю, кроме extended. Поле должно содержать уникальное для конкретного пользователя значение.<br /><br /> 2.1.7-pl<br /> ==============<br /> - Небольшие правки в JS.<br /><br /> 2.1.6-pl<br /> ==============<br /> - Добавил в событие 'si:send:before' параметр submitter, который содержит элемент, который стал инициатором отправки.<br /> - Устранил критическую уязвимость при загрузке файлов.<br /><br /> 2.1.5-pl<br /> ==============<br /> - Добавил очистку блока вставки контента, если контента нет.<br /> - Добавил принудительную смену метода вставки если всего одна страница в пагинации.<br /> - Исправил условие получения корневого элемента(формы) в JS.<br /> - Добавил системное событие OnBeforeFileRemove и параметр forceRemove в класс SendIt для удаления файлов без проверки владельца.<br /> - Добавил параметры в событие sf:change<br /> - Добавил событие si:quiz:init<br /> - Добавил метод resetHandler() в модуль загрузки файлов.<br /><br /> 2.1.4-pl<br /> ==============<br /> - Исправил ошибку "Укажите почту получателя".<br /><br /> 2.1.3-pl<br /> ==============<br /> - Теперь на событие OnBeforeReturnResponse можно полностью менять возвращаемые на фронт данные.<br /><br /> 2.1.2-pl<br /> ==============<br /> - Исправил ошибку валидации для имён файлов содержащих больше одной точки в названии.<br /><br /> 2.1.1-pl<br /> ==============<br /> - Переименовал сниппет ResetPassword в PasswordReset, чтобы не было конфликтов со сниппетом компонента Login.<br /><br /> 2.1.0-pl<br /> ==============<br /> - Добавил возможность выводить пагинацию списком.<br /><br /> 2.0.7-pl<br /> ==============<br /> - Исправил фатальную ошибку определения $allowDirs.<br /><br /> 2.0.6-pl<br /> ==============<br /> - Добавил сниппет mx3RenderForm.<br /> - Адаптировал код под Modx 3.<br /> - Убрал возможность удалять папки с фронта.<br /> - Добавил системную настройку si_allow_dirs для указания разрешённых путей для удаления папок.<br /><br /> 2.0.5-pl<br /> ==============<br /> - Поправил ошибку в методе forgot().<br /><br /> 2.0.4-pl<br /> ==============<br /> - Поправил ошибку при которой не устанавливался класс ошибки при отправке данные на события change и input.<br /> - Добавил пресет simpleform.<br /><br /> 2.0.3-pl<br /> ==============<br /> - Заменил константы путей на опции.<br /><br /> 2.0.2-pl<br /> ==============<br /> - Поправил ошибку обзёрвера в JS.<br /> - Добавил в сниппет ResetPassword параметр toPls.<br /><br /> 2.0.1-pl<br /> ==============<br /> Общее<br /> - Добавил проверку параметра antispam.<br /> - Добавил возврат ответа из сниппета ResetPassword.<br /> - Изменились параметры события OnBeforeFileValidate.<br /><br /> 2.0.0-pl<br /> ==============<br /> Общее<br /> - Переместил основные классы в папку services.<br /> - Поправил пути по умолчанию в методе loadCssJs().<br /> - Избавился от использования сессий.<br /> - Убрал проверку частоты и количества отправок для форм не использующих хук Email или FormItAutoResponder.<br /> - Добавил параметры pauseBetweenSending и sendingPerSession для управления проверкой отправки на спам.<br /> - Добавил в параметры события 'OnGetFormParams' объект SendIt, теперь можно создавать много плагинов на это событие.<br /> - Убрал параметр event из метода prepareSendParams().<br /> - Поменял порядок параметров в методе prepareSendParams().<br /> - Переписал метод getExtends() так, чтобы он мог работать с другими файлами пресетов.<br /> - Добавил возможность автоматической вставки контента, для этого сниппет должен возвращать параметр html, а в пресете нужно указать параметры resultBlockSelector и resultShowMethod<br /><br /><br /> Загрузка файлов<br /> - Добавил проверку на конечный слэш в методе removeDir() класса SendIt.<br /> - Добавил в плагин удаление загруженных файлов, срок хранения которых истёк.<br /> - Добавил системную настройку регулирующую срок хранения загруженных файлов si_storage_time.<br /> - Переписал отправку файлов, чтобы работала многопоточность.<br /> - Добавил очередь загрузки, если загрузка не началась - файл можно удалить из очереди кликом по полоске прогресса.<br /> - В процессе загрузки одного файла, можно добавлять другие файлы в очередь.<br /> - Загруженные файлы после перезагрузки страницы не удаляются, это позволяет продолжить загрузку, если она была прервана.<br /> - Добавил системную настройку регулирующую точность округления процентов при показе прогресса загрузки файлов si_precision.<br /> - Добавил параметр loadedUnit для пресета загрузки файлов, который позволяет указывать в каких единицах измерения показывать прогресс загрузки.<br /> - Добавил передачу параметра nomsg для обозначения автоматического удаления файла при очистке полей.<br /><br /> Квизы<br /> - Добавил в квиз JS событие 'si:quiz:progress'.<br /> - Добавил возможность убирать не нужные кнопки в квизе.<br /><br /> Идентификация<br /> - Переписал метод forgot, теперь сброс пароля надо подтверждать.<br /> - Добавил сниппет ResetPassword, который нужно вызывать для смены пароля.<br /> - Добавил сниппет userExists для проверки существования пользователя.<br /> - Есть два JS события ДО и ПОСЛЕ внесения изменений на страницу, и есть одно серверное событие для изменения параметров.<br /><br /> Пагинация<br /> - Добавил возможность вызывать любые сниппеты с постраничной навигацией.<br /> - Можно выводить на странице несколько блоков с пагинацией.<br /> - Можно динамически менять параметры вывода и выводить результаты с пагинацией.<br /> - Есть классическая пагинация, кнопкой или по скроллу.<br /><br /> 1.2.6-pl<br /> ==============<br /> - Исправил ошибку неопределенного конфига в обработчике загрузки файлов.<br /> - Добавил удаление класса disabled у кнопки назад.<br /><br /> 1.2.5-pl<br /> ==============<br /> - Добавил минимально необходимые стили.<br /><br /> 1.2.4-pl<br /> ==============<br /> - Поправил метод удаления файлов и директорий.<br /> - Удалил лишний параметр из JS метода квиза changeItem().<br /> - Поправил ошибку в загрузчике файлов при отсутствии в ответе параметра data.<br /> - Добавил в ответ сервера параметры вызова кастомного сниппета.<br /> - Добавил в квиз событие 'si:quiz:reset'.<br /> - Добавил в стандартный чанк письма вывод квиза.<br /> - Исправил ошибку обработки множества полей загрузки при отправки формы.<br /> - Добавил в JS метод getRoot()<br /> - Добавил в JS метод addInstances() в FileUploaderFactory<br /> - Добавил в FileUploader событие 'fu:preview:remove'<br /> - Добавил системное событие OnBeforeReturnResponse<br /><br /> 1.2.3-pl<br /> ==============<br /> - Оставил проверку на спам только в action.php<br /><br /> 1.2.3-pl<br /> ==============<br /> - Добавил возможность передавать параметры в метод prepareSendParams.<br /> - Добавил возврат результата запроса для возможности писать JS API.<br /><br /> 1.2.2-pl<br /> ==============<br /> - Убрал из возвращаемых на фронт данных объект класса SendIt.<br /> - Заменил событие OnHandLeRequest на OnWebPageInit это решило проблему с частой ошибкой "Невалидный токен".<br /><br /> 1.2.1-pl<br /> ==============<br /> - Добавил пример обращения к файловому сниппету.<br /> - Заменил обращение к методу $modx->runSnippet() на кастомный метод в основном классе.<br /><br /> 1.2.0-pl<br /> ==============<br /> - Добавил возможность через системные настройки задавать список не нужных в ответе сервера параметров.<br /> - Поправил ошибку вывода псевдонимов полей в чанке письма.<br /> - Добавил возможность передавать параметры валидации файлов из JS.<br /> - Добавил событие OnBeforeFileValidate, которое позволяет изменить параметры валидации.<br /> - Добавил параметр isTrusted для события 'si:quiz:change', позволяет отличить автопереключение от переключения пользователем.<br /> - Добавил обработку атрибута data-si-nosave в много шаговой форме, чтобы отключить переключение на последний шаг при загрузке страницы.<br /> - Добавил возможность загружать файлы перетаскиванием.<br /> - Исправил ошибку мигающего показателя прогресса в квизе.<br /> - Исправил ошибку обработчика ответа в опроснике при отсутствии пагинации в квизе.<br /> - Добавил обработку множества полей добавления файлов внутри одной формы.<br /> - Добавил обработку параметра validate, чтобы убрать переносы строк.<br /> - Изменил проверку куки в плагине, что убрать предупреждение.<br /> - Изменил проверку ключей в основном классе.<br /> - Добавил возможность автоматической авторизации после активации пользователя и переадресации на нужный ресурс по ID<br /><br /> 1.1.2-pl<br /> ==============<br /> - Поместил токен в сессию. Добавил проверку на наличие токена в сессии.<br /> - Создал сниппет RenderForm для любителей классических вызовов.<br /><br /> 1.1.1-pl<br /> ==============<br /> - Убрал стили по умолчанию<br /> - Убрал двойную отправку формы при нажатии на Enter<br /> - Поправил условия отправки по клику<br /><br /> 1.1.0-pl<br /> ==============<br /> - Добавил атрибут data-si-nosave для форм, которые не нужно сохранять<br /> - Добавил возможность отправить форму по клику на произвольный элемент внутри неё<br /><br /> 1.0.9-pl<br /> ==============<br /> - Исправил ошибку обработки формы без отправки целей<br /> - Добавил транслитерацию кириллицы в именах загружаемых файлах<br /><br /> 1.0.8-pl<br /> ==============<br /> - Изменил способ передачи параметров и заголовков в событие si:send:before<br /> - Исправил ошибку поиска формы в обработчике файлов<br /> - Добавил имя пресета в серверное событие OnGetFormParams<br /> - Добавил доступ к кнопкам в событии si:quiz:change<br /> - Удалил глобальные стили<br /> - Исправил невозможность указывать путь к кастомному коннектору<br /><br /> 1.0.7-pl<br /> ==============<br /> - Исправил баг создания папки для загрузки файлов.<br /><br /> 1.0.6-pl<br /> ==============<br /> - Добавил возможность указывать цели для метрики в коде шаблона в атрибуте data-si-goal.<br /> - Для одного элемента можно указывать несколько целей через запятую.<br /> - Цели указанные в вызове будут добавлены к указанным в шаблоне.<br /><br /><br /> 1.0.5-pl<br /> ==============<br /> - Исправил баг с ошибкой передачи имени события<br /> - Сделал метод Identification::generateCode($modx) статичным<br /> - Переработал обработку ошибок, теперь их можно увидеть все, если есть текст<br /><br /> 1.0.4-pl<br /> ==============<br /> - Добавил возможность отправлять данные на сервер без формы<br /> - Добавил рекурсивное наследование<br /><br /><br /> 1.0.3-pl<br /> ==============<br /> - Добавил ограничение общее количество отправок одной формы без перезагрезки страницы и ограничение на периодичность отправок<br /> - Удалил вывод логов в sending.js<br /> - Добавил возможность использовать параметры по умолчанию во всех формах.<br /> - Убрал обязательную очистку полей формы квиза<br /> - Изменил пути к стилям и скриптам на стандартные.<br /> - Добавил событие OnCheckPossibilityWork для возможности отменить ограничение на количество отправок для отдельных форм.<br /><br /> 1.0.2-pl<br /> ==============<br /> - Путь к пресетам указывается теперь относительно папки core<br /> - Добавил вывод сообщения из параметра vallidationErrorMessage<br /> - Исправлена ошибка отправки целой формы на события change и input.<br /> - Исправлена ошибка плагина из-за неверного пути к пресетам при вынесенной на уровень выше папке core.<br /> - Исправлена ошибка вызова функции удаления папки с загруженными файлами.<br /><br /> 1.0.1-pl<br /> ==============<br /> - В модуле SaveFormData добавил события si:set:before, si:set:after, si:change.<br /> - Исправил мелкие ошибки.<br /> - В основном классе поправил процесс формирования поля fields в массиве $_POST.<br /><br /><br /> 1.0.0-pl<br /> ==============<br /> - Первая стабильная сборка.<br /><br /> 1.0.0-beta<br /> ==============<br /> - Первая сборка. |
|||
| modstore.pro |
2.8.6-pl |
August 9, 2026
2 months ago |
— |
| modstore.pro |
2.8.5-pl |
August 1, 2026
3 months ago |
— |
| modstore.pro |
2.8.3-pl |
June 21, 2026
4 months ago |
— |
| modstore.pro |
2.8.2-pl |
June 16, 2026
4 months ago |
— |
| modstore.pro |
2.8.1-pl |
April 13, 2026
6 months ago |
— |
| modstore.pro |
2.8.0-pl |
March 2, 2026
8 months ago |
— |
| modstore.pro |
2.7.3-pl |
February 28, 2026
8 months ago |
— |
| modstore.pro |
2.7.2-pl |
December 24, 2025
10 months ago |
— |
| modstore.pro |
2.7.1-pl |
November 17, 2025
11 months ago |
— |
| modstore.pro |
2.7.0-pl |
November 15, 2025
11 months ago |
— |
| modstore.pro |
2.6.0-pl |
October 26, 2025
1 year ago |
— |
| modstore.pro |
2.5.1-pl |
October 2, 2025
1 year ago |
— |
| modstore.pro |
2.5.0-pl |
September 13, 2025
1 year ago |
— |
| modstore.pro |
2.4.9-pl |
September 9, 2025
1 year ago |
— |
| modstore.pro |
2.4.8-pl |
September 5, 2025
1 year ago |
— |
| modstore.pro |
2.4.7-pl |
September 5, 2025
1 year ago |
— |
| modstore.pro |
2.4.6-pl |
August 1, 2025
1 year ago |
— |
| modstore.pro |
2.4.5-pl |
July 27, 2025
1 year ago |
— |
| modstore.pro |
2.4.4-pl |
July 19, 2025
1 year ago |
— |
| modstore.pro |
2.4.3-pl |
July 4, 2025
1 year ago |
— |
| modstore.pro |
2.4.2-pl |
June 24, 2025
1 year ago |
— |
| modstore.pro |
2.4.1-pl |
June 23, 2025
1 year ago |
— |
| modstore.pro |
2.4.0-pl |
June 14, 2025
1 year ago |
— |
| modstore.pro |
2.3.0-pl |
April 4, 2025
1 year ago |
— |
| modstore.pro |
2.2.5-pl |
March 13, 2025
1 year ago |
— |
| modstore.pro |
2.2.4-pl |
March 6, 2025
1 year ago |
— |
| modstore.pro |
2.2.3-pl |
March 5, 2025
1 year ago |
— |
| modstore.pro |
2.2.2-pl |
February 24, 2025
1 year ago |
— |
| modstore.pro |
2.2.1-pl |
February 22, 2025
1 year ago |
— |
| modstore.pro |
2.2.0-pl |
February 21, 2025
1 year ago |
— |
| modstore.pro |
2.1.7-pl |
February 2, 2025
1 year ago |
— |
| modstore.pro |
2.1.6-pl |
January 18, 2025
1 year ago |
— |
| modstore.pro |
2.1.5-pl |
October 26, 2024
2 years ago |
— |
| modstore.pro |
2.1.4-pl |
August 14, 2024
2 years ago |
— |
| modstore.pro |
2.1.3-pl |
August 13, 2024
2 years ago |
— |
| modstore.pro |
2.1.2-pl |
August 8, 2024
2 years ago |
— |
| modstore.pro |
2.1.1-pl |
July 27, 2024
2 years ago |
— |
| modstore.pro |
2.1.0-pl |
July 21, 2024
2 years ago |
— |
| modstore.pro |
2.0.7-pl |
July 20, 2024
2 years ago |
— |
| modstore.pro |
2.0.6-pl |
July 20, 2024
2 years ago |
— |
| modstore.pro |
2.0.5-pl |
July 4, 2024
2 years ago |
— |
| modstore.pro |
2.0.4-pl |
June 23, 2024
2 years ago |
— |
| modstore.pro |
2.0.3-pl |
June 19, 2024
2 years ago |
— |
| modstore.pro |
2.0.2-pl |
June 10, 2024
2 years ago |
— |
| modstore.pro |
2.0.1-pl |
June 9, 2024
2 years ago |
— |
| modstore.pro |
2.0.0-pl |
June 9, 2024
2 years ago |
— |
| modstore.pro |
1.2.6-pl |
March 26, 2024
2 years ago |
— |
| modstore.pro |
1.2.5-pl |
March 25, 2024
2 years ago |
— |
| modstore.pro |
1.2.3-pl |
March 2, 2024
2 years ago |
— |
| modstore.pro |
1.2.2-pl |
March 1, 2024
2 years ago |
— |
| modstore.pro |
1.2.1-pl |
February 25, 2024
2 years ago |
— |
| modstore.pro |
1.1.2-pl |
January 12, 2024
2 years ago |
— |
| modstore.pro |
1.1.1-pl |
December 28, 2023
2 years ago |
— |
| modstore.pro |
1.1.0-pl |
December 25, 2023
2 years ago |
— |
| modstore.pro |
1.0.9-pl |
November 23, 2023
2 years ago |
— |
| modstore.pro |
1.0.8-pl |
November 21, 2023
2 years ago |
— |
| modstore.pro |
1.0.7-pl |
October 27, 2023
3 years ago |
— |
| modstore.pro |
1.0.6-pl |
October 18, 2023
3 years ago |
— |
| modstore.pro |
1.0.5-pl |
October 16, 2023
3 years ago |
— |
| modstore.pro |
1.0.4-pl |
October 10, 2023
3 years ago |
— |
| modstore.pro |
1.0.3-pl |
September 21, 2023
3 years ago |
— |
| modstore.pro |
1.0.1-pl |
September 5, 2023
3 years ago |
— |
| modstore.pro |
1.0.0-pl |
August 22, 2023
3 years ago |
— |
|
No matching releases. |
|||