FormIt 3.0.2-pl

FormIt 3.0.2-pl

Released Apr 26, 2017 by sterc

A dynamic form processing Snippet for MODX Revolution.

Download 190kb (14761 downloads)
Downloads: 278,600
License: GPLv2
Requires Revolution 2.2.x or greater
Supports mysql,sqlsrv

FormIt is a dynamic form processing Snippet for MODX Revolution. It handles form creation, submission, performing validation and followup actions like sending an email and auto replies. Key features:

  • Automatic validation and custom validator options
  • Auto reply to visitor + email to owner(s)
  • Multiple attachments
  • Submitted forms can be automatically saved and encrypted in the Formit component
  • Submitted forms can be exported to CSV, based on filters
  • Redirect to thank-you pages for optimal tracking in your analytics software (e.g. Google Analytics funnels)
  • Add your own hooks as Snippets to handle forms dynamically
  • Spam protection
  • Dynamic country/state dropdown lists


Official documentation here: http://rtfm.modx.com/display/ADDON/FormIt

Installation Instructions

Install via Package Management.

Updating to 3.0?

We've released FormIt 3.0 in order to avoid issues with Mcrypt in the near future, since it will be deprecated in PHP 7.2. Mcrypt has therefore been replaced by OpenSSL encryption.

After updating to 3.0.0, you should refresh the page and notice a red bar on the top of your manager. From there, you can initiate the migration process, which will unencrypt your saved forms using Mcrypt and immediately encrypt it using OpenSSL.

It is highly recommended to migrate ASAP!

Formit 3.0.2

  • Fix encryption in formitsaveform snippet to save correct encryption_type
  • Fix bug in forms grid when decrypting encrypted forms fail
  • Fix migration to check if decrypted data is correct

FormIt 3.0.1

  • Store file uploads in tmp folder to prevent file uploads getting lost in multistep forms
  • Add checks for OpenSSL in classes and encryption CMP tab
  • Add method_exists check to plugin to prevent errors when method not exists
  • Update context-menu in forms-encryption grid to show only encrypt or decrypt
  • Set placeholders for file upload $_FILES array
  • Add option to FormItCountryOptions snippet to limit country list to selected countries only (PR#123) - thanks to gadgetto

New in 3.0.0

  • Mcrypt encryption/decryption has been replaced with openSSL due to mcrypt being deprecated in PHP 7.2
  • Added default file-based chunks as objects
  • Added support for pdoTools getChunk method
  • Added French countries for FormItCountryOptions
  • Added Dutch countries for FormItCountryOptions
  • Added ExtJs stateful parameters to CMP tabs

New in 2.2.11

  • Added storeLocation property to FormIt and FormItRetriever. (issue #95, PR #105#106#107)
  • Changed default behaviour of emailReplyTo parameter to fallback to email field in form (issue #101)
  • Changed math hook to store values in session, preventing easy bypass of math hook (issue #64)
  • Add GPM config
  • Fix bug with multiple file upload (PR #104)
  • Add 'hash' field to FormItSaveForm to allow updating of previously saved forms (PR #94)
  • Add FormItLoadSavedForm snippet to retrieve saved forms (PR #94)
  • Fix for export with datefilter (issue #96, PR #97)
  • Add fiarRequired property (PR#83)
  • Update resolver to check for current version to prevent errors on upgrade
  • Add system setting for form_encryptkey, to not rely on site_id (issue #68)
  • Fix saved forms export when using encrypted forms (issue #48)

New in 2.2.10

  • Merged PR#58: Added BOM for Excel to understand UTF-8 non-latin symbols properly. (thanks to govza)
  • Merged PR#73: JSON output options for errors and hooks (thans to sepiariver)
  • Merged PR#79: Create German lexicon for FormIt-CMP (thanks to sebastian-marinescu)
  • New in 2.2.9

  • Merging PR#74 from Jako which solves multiple issues.
  • Fix XSS vulnerabilities
  • Javascript code cleanup
  • Fix empty math operator after form submission #d782c29
  • New in 2.2.8

    • Fixed export limit and added form dropdown paging #60
    • Fixed typo property lexicons #57
    • Added templates path to config #63
    • Added loading lexicons in ficountryoptions class #21
    • Added ability to dynamically set formName by setting placeholder inside formName equal to an existing form field key #45

    New in 2.2.7

      • Optimised export

      New in 2.2.6

        • Fixed empty placeholder for file field in autoresponder

        New in 2.2.5

          • Fixed creating table on update
          • Added new tab inside CMP for managing encryption
          • Added missing br on auto emailTpl

          New in 2.2.4

            • Fixed bug inside FormItSaveForm and PR #43

            New in 2.2.3

            • Added encryption to saved forms
            • Added formname to grid
            • Saved form is now returned from the hook
            • Export unlimited items
            • Add RU translation
            • Fixed some bugs

            New in 2.2.2

              • Added CMP for the saved forms
              • Fixed whitespace PR on required checkboxes

              New in 2.2.1

                • Updated numbers generation for math captcha #5
                • German translation #10
                • Added missing formit.not_regexp lexicon #15
                • Specify explicitely return-path fixes #19 #20
                • fix addAttachment() typo #23
                • Fixed typo in adding of the attachments #24
                • Add the possibility of redirectTo=`formfield` #26
                • Added attachments for auto-reply and Added ability to use @CODE as tpl #29
                • Update snippet.formitisselected.php #12
                • Canadian options for FormitStateOptions

                New in 2.2.0

                • [#8382] Prevent issue with checkboxes/radios causing text-parsing problems with required validator
                • Fixed issue with custom error message for vTextPasswordConfirm not respected
                • [#9457] Fixed issue with commas in values causing errors with FormItIsChecked & FormItIsSelected
                • [#9576] Add ability to translate country options
                • Add check for preHook errors before processing postHooks
                • Add option, defaulting true, to trim spaces from sides of values before validation
                • [#8785] Fix E_STRICT error in fiDictionary

                New in 2.1.2

                • Various language updates
                • [#7250] Fix issue with 0 not passing :required filter

                New in 2.1.1

                • [#8204] Fix issue with FormItAutoResponder and processing of MODX tags

                New in 2.1.0

                • [#7620] Allow for MODX tags in email templates, as well as pass-through of snippet properties to tpl
                • [#7502] Add ability to find type of hook by using $hook->type
                • [#8151] More sanity checking for FormItAutoResponder and replyTo addresses
                • Fix useIsoCode issue in FormItCountryOptions
                • Update German translation
                • Enhance validation templating for validationErrorBulkTpl
                • Add &country option to FormItStateOptions to allow loading of non-US states (currently us/de)

                New in 2.0.3

                • Update Czech translation
                • Fix issue with French accents in translation
                • [#6021] Refactor Russian reCaptcha translations
                • [#6618] Standardize XHTML in reCaptcha usage

                New in 2.0.2

                • [#4864] Fix issue with isNumber not allowing blank fields
                • [#5404] Fix issues with checkboxes and array fields in FormItAutoResponder
                • [#5269] Fix issues with checkboxes in various forms in emails
                • [#5792] Update reCaptcha URLs

                New in 2.0.1

                • [#5525] Add &allowFiles property, that when set to 0, prevents file submissions on form
                • [#5484] Fix issue with double validation error spans
                • Fix issue where config was not passed to hooks
                • Update German translation

                New in 2.0.0

                • [#3514] Add ability to customize validator error messages per FormIt form and per field
                • [#4705] Add regexp validator
                • [#5454] Fix issue with customValidators property in 2.0.0-rc2
                • Fix issue with reCaptcha loading in 2.0.0-rc1
                • Major reworking of main FormIt script to be OOP
                • Add over 150 unit tests to prevent regression
                • [#5388], [#5240] Fix issue with FormItCountryOptions and &useIsoCode
                • Fix issue with FormItStateOptions and &useAbbr
                • [#5267] Fix issue with FormItRetriever and array fields

                New in 1.7.0

                • Add ability to have "Frequent Visitors" optgroup in FormItCountryOptions, moving specified countries to the top of the list in an optgroup
                • Add missing property translations for FormItStateOptions snippet
                • Fix small issue with stored values after validation of fields
                • Add FormItStateOptions snippet for easy U.S. state dropdowns
                • Add FormItCountryOptions snippet for easy country dropdowns
                • [#5101] Fix issue with emailMultiSeparator and emailMultiWrapper default values
                • Fix issue with bracketed field names being added as extra fields post-validation with . prefix

                New in 1.6.0

                • [#4708] Add support for bracketed fields, such as contact[name]
                • [#5038] Fix uninitialized variable warnings in reCaptcha service
                • [#4993] Add Italian translation and fix recaptcha links
                • Fix issue where fields could be removed via DOM from form and be bypassed
                • Add &emailMultiSeparator and &emailMultiWrapper properties for handling display of checkboxes/multi-selects in email hook

                New in 1.5.6

                • [#4564] Fix redirectTo with non-web contexts

                New in 1.5.5

                • [#4168] Add emailConvertNewlines property for handling newlines in HTML emails
                • [#4057] Prevent math hook from generating similar numbers
                • [#4302] Cleanups to FormItAutoResponder snippet
                • [#3991] Fix issue with checkbox values in emails

                New in 1.5.4

                • Fix issue with math hook where error placeholders were incorrect
                • Fix issue where emailHtml property was not respected in email hook
                • Fix issue where hooks were not passed customProperties array
                • [#51] Allow blank fields to be passed with :email validator
                • [#55] Allow all fields to be accessed in custom validators

                New in 1.5.3

                • [#40] Add ability to display all error messages in bulk at top, added validationErrorBulkTpl for templating each one
                • [#52] Add a general validation error message property, validationErrorMessage, that shows when validation fails
                • [#53] Fix bug that prevented recaptcha options from working
                • Add a generic validation error placeholder in FormIt to allow for general messages
                • [#50] Trim each hook specification in hooks calls
                • [#49] Ensure reCaptcha service instance is unique for each FormIt instance
                • [#47] Ensure email validator checks for empty string
                • [#42] Can now include field names in error strings via `field` placeholder
                • [#39] Fix issue with FormItIsChecked/Selected to prevent output from occurring if not checked
                • [#37] Fix allowTags validator to work, and work with parameters encapsulated by ^
                Version Released Author Downloads
                71 Versions 2 Contributors 279,122 Downloads
                3.0.1-pl Apr, 25 2017 sterc 384
                3.0.0-pl Apr, 12 2017 sterc 3,407
                2.2.11-pl Sep, 25 2016 sterc 31,436
                2.2.10-pl Mar, 11 2016 sterc 26,640
                2.2.9-pl Feb, 12 2016 sterc 4,840
                2.2.8-pl Dec, 11 2015 sterc 8,929
                2.2.7-pl Jul, 02 2015 sterc 19,738
                2.2.6-pl May, 22 2015 sterc 6,388
                2.2.5-pl May, 07 2015 sterc 2,896
                2.2.4-pl Apr, 10 2015 sterc 4,547
                2.2.3-pl Apr, 10 2015 sterc 101
                2.2.2-pl Mar, 19 2015 sterc 4,100
                2.2.1-pl Feb, 24 2015 sterc 4,113
                2.2.0-pl Mar, 18 2013 splittingred 55,723
                2.1.2-pl Oct, 08 2012 splittingred 15,542
                2.1.1-pl Jul, 06 2012 splittingred 8,852
                2.1.0-pl Jul, 03 2012 splittingred 872
                2.0.3-pl Jan, 24 2012 splittingred 13,276
                2.0.2-pl Sep, 27 2011 splittingred 7,940
                2.0.1-pl Aug, 22 2011 splittingred 3,020
                2.0.0-pl Aug, 08 2011 splittingred 1,534
                2.0.0-rc2 Aug, 05 2011 splittingred 563
                2.0.0-rc1 Aug, 03 2011 splittingred 574
                1.7.0-pl Jul, 07 2011 splittingred 2,400
                1.7.0-rc2 Jul, 07 2011 splittingred 297
                1.7.0-rc1 Jul, 01 2011 splittingred 753
                1.6.0-pl Jun, 23 2011 splittingred 1,039
                1.6.0-rc1 May, 26 2011 splittingred 2,426
                1.5.6-pl May, 11 2011 splittingred 1,630
                1.5.5-pl Apr, 11 2011 splittingred 2,435
                1.5.4-pl Mar, 03 2011 splittingred 2,770
                1.5.4-rc1 Jan, 17 2011 splittingred 1,786
                1.5.3-pl Jan, 05 2011 splittingred 1,076
                1.5.3-rc2 Dec, 28 2010 splittingred 751
                1.5.3-rc1 Dec, 16 2010 splittingred 931
                1.5.2-pl Dec, 08 2010 splittingred 939
                1.5.2-rc2 Dec, 03 2010 splittingred 684
                1.5.2-rc1 Dec, 02 2010 splittingred 362
                1.5.1-pl Nov, 30 2010 splittingred 462
                1.5.0-pl Nov, 22 2010 splittingred 810
                1.5.0-rc2 Nov, 18 2010 splittingred 546
                1.5.0-rc1 Nov, 11 2010 splittingred 726
                1.4.1-pl Oct, 19 2010 splittingred 1,350
                1.4.0-pl Oct, 11 2010 splittingred 784
                1.4.0-rc1 Oct, 06 2010 splittingred 552
                1.3.0-rc2 Sep, 22 2010 splittingred 996
                1.3.0-rc1 Sep, 20 2010 splittingred 434
                1.2.1-pl Sep, 08 2010 splittingred 816
                1.2.0-pl Sep, 08 2010 splittingred 326
                1.2.0-rc1 Aug, 27 2010 splittingred 826
                1.1.7-pl Aug, 16 2010 splittingred 794
                1.1.6-pl Aug, 10 2010 splittingred 548
                1.1.6-rc1 Jul, 14 2010 splittingred 1,196
                1.1.5-pl Jun, 28 2010 splittingred 560
                1.1.4-pl Jun, 25 2010 splittingred 311
                1.1.4-rc1 May, 27 2010 splittingred 588
                1.1.3-pl May, 26 2010 splittingred 297
                1.1.2-pl May, 18 2010 splittingred 409
                1.1.1-pl May, 13 2010 splittingred 378
                1.1.0-pl May, 12 2010 splittingred 377
                1.1.0-rc2 May, 07 2010 splittingred 309
                1.1.0-rc1 Apr, 21 2010 splittingred 483
                1.0.0-rc2 Feb, 25 2010 splittingred 713
                1.0.0-rc1 Jan, 13 2010 splittingred 512
                1.0.0-beta3 Jan, 04 2010 splittingred 380
                1.0.0-beta2 Dec, 21 2009 splittingred 422
                1.0.0-beta1 Dec, 18 2009 splittingred 367
                1.0.0-alpha3 Nov, 05 2009 splittingred 498
                1.0.0-alpha2 Oct, 20 2009 splittingred 498
                1.0.0-alpha1 Oct, 19 2009 splittingred 401