Версия 2.1.0-pl
Дата выпуска 21.07.2024
Загрузки 415
Просмотры 2 476
Внимание, этот компонент требует версию PHP 7.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !
!!! ВАЖНО!!! Если после обновления, что-то не работает удалите все версии компонента из системы и установите заново последнюю.

!!! ВАЖНО!!! При установке компонент так же будут установлены pdoTools и FormIt. А если не установятся автоматически, нужно установить вручную.

Возможности:
1. Отправка данных полей форм на сайт без перезагрузки страницы.
2. Загрузка файлов любых размеров на сервер и прикрепление их к письмам.
3. Создание опросников (многошаговых форм)
4. Сохранение данных форм в localStorage и заполнение полей после перезагрузки.
5. Есть авторизация, регистрация, восстановление пароля и редактирование личных данных.
6. Добавление файлов к загрузке drag'n'drop.
7. Вывод данных с постраничной навигацией.

Особенности:
1. Использует cookie и localStorage.
2. Не требует вызова сниппетов для отправки формы.
3. Есть защита от ботов и внешнего доступа.
4. Можно корректировать работу с помощью событий.
5. Отправка возможна на события change и input.

Для всех кейсов есть примеры форм. Смотрите чанки.

2.1.0-pl

  • Добавил возможность выводить пагинацию списком.

2.0.7-pl

  • Исправил фатальную ошибку определения $allowDirs.

2.0.6-pl

  • Добавил сниппет mx3RenderForm.
  • Адаптировал код под Modx 3.
  • Убрал возможность удалять папки с фронта.
  • Добавил системную настройку si_allow_dirs для указания разрешённых путей для удаления папок.

2.0.5-pl

  • Поправил ошибку в методе forgot().

2.0.4-pl

  • Поправил ошибку при которой не устанавливался класс ошибки при отправке данные на события change и input.
  • Добавил пресет simpleform.

2.0.3-pl

  • Заменил константы путей на опции.

2.0.2-pl

  • Поправил ошибку обзёрвера в JS.
  • Добавил в сниппет ResetPassword параметр toPls.

2.0.1-pl

Общее

  • Добавил проверку параметра antispam.
  • Добавил возврат ответа из сниппета ResetPassword.
  • Изменились параметры события OnBeforeFileValidate.

2.0.0-pl

Общее

  • Переместил основные классы в папку services.
  • Поправил пути по умолчанию в методе loadCssJs().
  • Избавился от использования сессий.
  • Убрал проверку частоты и количества отправок для форм не использующих хук Email или FormItAutoResponder.
  • Добавил параметры pauseBetweenSending и sendingPerSession для управления проверкой отправки на спам.
  • Добавил в параметры события 'OnGetFormParams' объект SendIt, теперь можно создавать много плагинов на это событие.
  • Убрал параметр event из метода prepareSendParams().
  • Поменял порядок параметров в методе prepareSendParams().
  • Переписал метод getExtends() так, чтобы он мог работать с другими файлами пресетов.
  • Добавил возможность автоматической вставки контента, для этого сниппет должен возвращать параметр html, а в пресете нужно указать параметры resultBlockSelector и resultShowMethod

Загрузка файлов

  • Добавил проверку на конечный слэш в методе removeDir() класса SendIt.
  • Добавил в плагин удаление загруженных файлов, срок хранения которых истёк.
  • Добавил системную настройку регулирующую срок хранения загруженных файлов si_storage_time.
  • Переписал отправку файлов, чтобы работала многопоточность.
  • Добавил очередь загрузки, если загрузка не началась - файл можно удалить из очереди кликом по полоске прогресса.
  • В процессе загрузки одного файла, можно добавлять другие файлы в очередь.
  • Загруженные файлы после перезагрузки страницы не удаляются, это позволяет продолжить загрузку, если она была прервана.
  • Добавил системную настройку регулирующую точность округления процентов при показе прогресса загрузки файлов si_precision.
  • Добавил параметр loadedUnit для пресета загрузки файлов, который позволяет указывать в каких единицах измерения показывать прогресс загрузки.
  • Добавил передачу параметра nomsg для обозначения автоматического удаления файла при очистке полей.

Квизы

  • Добавил в квиз JS событие 'si:quiz:progress'.
  • Добавил возможность убирать не нужные кнопки в квизе.

Идентификация

  • Переписал метод forgot, теперь сброс пароля надо подтверждать.
  • Добавил сниппет ResetPassword, который нужно вызывать для смены пароля.
  • Добавил сниппет userExists для проверки существования пользователя.
  • Есть два JS события ДО и ПОСЛЕ внесения изменений на страницу, и есть одно серверное событие для изменения параметров.

Пагинация

  • Добавил возможность вызывать любые сниппеты с постраничной навигацией.
  • Можно выводить на странице несколько блоков с пагинацией.
  • Можно динамически менять параметры вывода и выводить результаты с пагинацией.
  • Есть классическая пагинация, кнопкой или по скроллу.

1.2.6-pl

  • Исправил ошибку неопределенного конфига в обработчике загрузки файлов.
  • Добавил удаление класса disabled у кнопки назад.

1.2.5-pl

  • Добавил минимально необходимые стили.

1.2.4-pl

  • Поправил метод удаления файлов и директорий.
  • Удалил лишний параметр из JS метода квиза changeItem().
  • Поправил ошибку в загрузчике файлов при отсутствии в ответе параметра data.
  • Добавил в ответ сервера параметры вызова кастомного сниппета.
  • Добавил в квиз событие 'si:quiz:reset'.
  • Добавил в стандартный чанк письма вывод квиза.
  • Исправил ошибку обработки множества полей загрузки при отправки формы.
  • Добавил в JS метод getRoot()
  • Добавил в JS метод addInstances() в FileUploaderFactory
  • Добавил в FileUploader событие 'fu:preview:remove'
  • Добавил системное событие OnBeforeReturnResponse

1.2.3-pl

  • Оставил проверку на спам только в action.php

1.2.3-pl

  • Добавил возможность передавать параметры в метод prepareSendParams.
  • Добавил возврат результата запроса для возможности писать JS API.

1.2.2-pl

  • Убрал из возвращаемых на фронт данных объект класса SendIt.
  • Заменил событие OnHandLeRequest на OnWebPageInit это решило проблему с частой ошибкой "Невалидный токен".

1.2.1-pl

  • Добавил пример обращения к файловому сниппету.
  • Заменил обращение к методу $modx->runSnippet() на кастомный метод в основном классе.

1.2.0-pl

  • Добавил возможность через системные настройки задавать список не нужных в ответе сервера параметров.
  • Поправил ошибку вывода псевдонимов полей в чанке письма.
  • Добавил возможность передавать параметры валидации файлов из JS.
  • Добавил событие OnBeforeFileValidate, которое позволяет изменить параметры валидации.
  • Добавил параметр isTrusted для события 'si:quiz:change', позволяет отличить автопереключение от переключения пользователем.
  • Добавил обработку атрибута data-si-nosave в много шаговой форме, чтобы отключить переключение на последний шаг при загрузке страницы.
  • Добавил возможность загружать файлы перетаскиванием.
  • Исправил ошибку мигающего показателя прогресса в квизе.
  • Исправил ошибку обработчика ответа в опроснике при отсутствии пагинации в квизе.
  • Добавил обработку множества полей добавления файлов внутри одной формы.
  • Добавил обработку параметра validate, чтобы убрать переносы строк.
  • Изменил проверку куки в плагине, что убрать предупреждение.
  • Изменил проверку ключей в основном классе.
  • Добавил возможность автоматической авторизации после активации пользователя и переадресации на нужный ресурс по ID

1.1.2-pl

  • Поместил токен в сессию. Добавил проверку на наличие токена в сессии.
  • Создал сниппет RenderForm для любителей классических вызовов.

1.1.1-pl

  • Убрал стили по умолчанию
  • Убрал двойную отправку формы при нажатии на Enter
  • Поправил условия отправки по клику

1.1.0-pl

  • Добавил атрибут data-si-nosave для форм, которые не нужно сохранять
  • Добавил возможность отправить форму по клику на произвольный элемент внутри неё

1.0.9-pl

  • Исправил ошибку обработки формы без отправки целей
  • Добавил транслитерацию кириллицы в именах загружаемых файлах

1.0.8-pl

  • Изменил способ передачи параметров и заголовков в событие si:send:before
  • Исправил ошибку поиска формы в обработчике файлов
  • Добавил имя пресета в серверное событие OnGetFormParams
  • Добавил доступ к кнопкам в событии si:quiz:change
  • Удалил глобальные стили
  • Исправил невозможность указывать путь к кастомному коннектору

1.0.7-pl

  • Исправил баг создания папки для загрузки файлов.

1.0.6-pl

  • Добавил возможность указывать цели для метрики в коде шаблона в атрибуте data-si-goal.
  • Для одного элемента можно указывать несколько целей через запятую.
  • Цели указанные в вызове будут добавлены к указанным в шаблоне.

1.0.5-pl

  • Исправил баг с ошибкой передачи имени события
  • Сделал метод Identification::generateCode($modx) статичным
  • Переработал обработку ошибок, теперь их можно увидеть все, если есть текст

1.0.4-pl

  • Добавил возможность отправлять данные на сервер без формы
  • Добавил рекурсивное наследование

1.0.3-pl

  • Добавил ограничение общее количество отправок одной формы без перезагрезки страницы и ограничение на периодичность отправок
  • Удалил вывод логов в sending.js
  • Добавил возможность использовать параметры по умолчанию во всех формах.
  • Убрал обязательную очистку полей формы квиза
  • Изменил пути к стилям и скриптам на стандартные.
  • Добавил событие OnCheckPossibilityWork для возможности отменить ограничение на количество отправок для отдельных форм.

1.0.2-pl

  • Путь к пресетам указывается теперь относительно папки core
  • Добавил вывод сообщения из параметра vallidationErrorMessage
  • Исправлена ошибка отправки целой формы на события change и input.
  • Исправлена ошибка плагина из-за неверного пути к пресетам при вынесенной на уровень выше папке core.
  • Исправлена ошибка вызова функции удаления папки с загруженными файлами.

1.0.1-pl

  • В модуле SaveFormData добавил события si:set:before, si:set:after, si:change.
  • Исправил мелкие ошибки.
  • В основном классе поправил процесс формирования поля fields в массиве $_POST.

1.0.0-pl

  • Первая стабильная сборка.

1.0.0-beta

  • Первая сборка.

Последние обсуждения в сообществе MODX.pro