Changelog for FormIt. FormIt 4.1.0 ==================================== - This release is made possible thanks to Bert Kooij / Census.nl. Thanks! - Added new button in Manager page for manually removing forms. - Added new system setting for the default amount of days. - Added cronjob task for automatically deletion of old forms. FormIt 4.0.1 ==================================== - Add option to specify csv delimiter for form export - Add GDPR compliant attachment handling (#154) - Thanks to @wax100 - Allow empty isDate validator (PR#164) - Thanks to JoshuaLuckers - Fix bug with multiple forms on one page (#160) - Fix modx->log calls in various classes (#161) - Fix setting redirectParams variable (#165) FormIt 4.0.0 ==================================== - Move formit base classes to /src/ folder and add namespace - Update existing classes to extend new classes - Update all snippets to use modx getService - Move FormItAutoResponder and FormItSaveForm logic to classes - Add helper functions for all FormIt properties - Set defaultEngine to InnoDB in mysql schema - Fix PHP7 error in default email output (PR#156) - Updated German lexicons (PR#150) - Add 'Form' column to form export (PR#149) FormIt 3.0.4 ==================================== - Fix checkbox values not showing in email FormIt 3.0.3 ==================================== - Fix FormItSaveForm to allow multiple fields with same fieldName - Add 'saveTmpFiles' FormIt snippet property to enable/disable saving files to tmp directory - Remove list() function from formitsaveform snippet for better PHP version compatibility (#98) - Fix PHP7 by-reference errors (#98) - Replace ereg() functions with preg_match() for PHP compatibility (#98) - Increase precision for FormItForm 'ip' field to allow for IPV6 addresses (#135) - Fix issue where in some cases fields are not correctly saved in FormItForm (#92) - Optimize FormItForm export class for better performance (#120) - Add 'attachFilesToEmail' property to control if files are added as attachment to email (#122) 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 FormIt 3.0.0 ==================================== - PLEASE NOTE: THIS UPDATE CONTAINS A MIGRATION SCRIPT FOR ENCRYPTED FORMS - Read more about it at https://github.com/Sterc/FormIt - Mcrypt encryption/decryption methods replaced with openssl due to mcrypt being deprecated in PHP 7.1 - Add default file-based chunks as objects - Add support for pdoTools getChunk method, thanks to soulcreate and bezumkin (PR#89) - Add French countries for FormItCountryOptions, thanks to beau-gosse (PR#109) - Add Dutch countries for FormItCountryOptions, thanks to visvoer (PR#110) - Add extjs stateful parameters to CMP tabs FormIt 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) FormIt 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 - Merged PR#79: Create German lexicon for FormIt-CMP (thanks to sebastian-marinescu) FormIt 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 FormIt 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 FormIt 2.2.7 ==================================== - Optimised export FormIt 2.2.6 ==================================== - Fixed empty placeholder for file field in autoresponder FormIt 2.2.5 ==================================== - Fixed creating table on update - Added new tab inside CMP for managing encryption - Added missing br on auto emailTpl FormIt 2.2.4 ==================================== - Fixed bug inside FormItSaveForm and PR #43 FormIt 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 FormIt 2.2.2 ==================================== - Added CMP for the saved forms - Fixed whitespace PR on required checkboxes FormIt 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 FormIt 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 FormIt 2.1.2 ==================================== - Various language updates - [#7250] Fix issue with 0 not passing :required filter FormIt 2.1.1 ==================================== - [#8204] Fix issue with FormItAutoResponder and processing of MODX tags FormIt 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) FormIt 2.0.3 ==================================== - Update Czech translation - Fix issue with French accents in translation - [#6021] Refactor Russian reCaptcha translations - [#6618] Standardize XHTML in reCaptcha usage FormIt 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 FormIt 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 FormIt 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 - 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 FormIt 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 FormIt 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 for handling display of checkboxes/multi-selects in email hook FormIt 1.5.6 ==================================== - [#4564] Fix redirectTo with non-web contexts FormIt 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 FormIt 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 FormIt 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 ^ FormIt 1.5.2 ==================================== - Fixed security vulnerability - Added math hook, allowing anti-spam math field measure - Added more debugging info to email hook FormIt 1.5.1 ==================================== - Fixed issue where &store was not respecting values set in post-hooks - Redirect hook now redirects *after* all other hooks execute FormIt 1.5.0 ==================================== - Fixed bug with redirectParams not parsing placeholders in the params - Added redirectParams property, which allows a JSON object of params to be passed when using redirect hook - Added spamCheckIp property, defaults to false, to check IP as well in spam hook - Fixed incorrect default param for fiarSender - Fixed error reporting for FormItAutoResponder - Added sanity checks to form attachments when dealing with missing names - Fixed invalid offset error in checkbox validation - Added recaptchaJS to allow for custom JS overriding of reCaptcha options var FormIt 1.4.1 ==================================== - Added sanity check for emailHtml property on email hook - Added sanity check for replyto/cc/bcc emails on email hook - Added ability to change language via &language parameter FormIt 1.4.0 ==================================== - Fixed bug with recaptcha and other hooks error display messages - Introduced &validate parameter for more secure validation parameters to prevent POST injection - Added FormItIsChecked and FormItIsSelected custom output filters for easier checkbox/radio/select handling of selected values - Added &placeholderPrefix for FormIt snippet, defaults to `fi.` FormIt 1.3.0 ==================================== - Fixed issue with isNumber validator - Added FormItRetriever snippet to get data from a FormIt submission for thank you pages - Added extra API methods for custom hooks for easier data grabbing - Added FormItAutoResponder snippet to use as a custom hook for auto-responses - Added &successMessage and &successMessagePlaceholder properties for easier success message handling - Fixed ordering for &emailFrom property - Added width/height for reCaptcha, however, reCaptcha APIs prevent resizing via calls FormIt 1.2.1 ==================================== - Added recaptchaTheme property, which allows theming of reCaptcha hook FormIt 1.2.0 ==================================== - Added preHooks property to allow for custom snippets to pre-fill fields - Added clearFieldsOnSuccess property to clear fields after a successful form submission without a redirect - Allow placeholders of fields in all email properties - Added customValidators property to FormIt snippet to restrict custom validators to only specified validators to prevent brute force snippet loading - Added fiValidator::addError for easier error loading for custom validators - Added German translation FormIt 1.1.7 ==================================== - Added bcc and cc properties for email hook FormIt 1.1.6 ==================================== - i18n of Snippet properties - Added emailReplyToName and emailReplyTo properties for email hook - Removed SMTP settings as those are now in Revo - Fixed bug in html emails where linebreaks were being ignored - Added islowercase and isuppercase validators - Added multibyte support to validators FormIt 1.1.5 ==================================== - Added Russian translation - Updated copyright information FormIt 1.1.4 ==================================== - Fixed bug with isDate check - Migrated FormIt to Git - Fixed bug that caused validators to not fire - Fixed bug where custom validators were wonky, added 'errors' references to custom hooks/validators - [#ADDON-147] Added support for validation and emailing of file fields - Added stripTags to all fields by default (unless 'allowTags' hook is passed') to prevent XSS - Added in missing settings - Added reCaptcha support via the recaptcha hook - Adjusted copyright information to reflect current year FormIt 1.0 ==================================== - Fixed bug with emailFrom property getting overwritten - [#ADDON-122] Fixed incorrect message in spam lexicon item - Added 'spam' hook that utilizes StopForumSpam spam filter. Will filter the fields in the property &spamEmailFields - Ensure hooks errors are set as placeholders - Aded fi.success placeholder to be set on a successful form submission if no redirect hook is specified - Added default to emailTpl property so that it is now no longer required. Will send out email with just field names and values. - Added Dutch translation - Added missing formit.contains lexicon entry - Fixed possible loophole with $this->fields and referencing in multiple hooks - Fixed bug on hooks due to !== and != difference - Added SMTP support to FormIt email hook - Fixed bug with emailFrom in email hook - Added emailUseFieldForSubject property to FormIt snippet - Fixed bug on email hook where if subject was passed through form, it wouldn't set it as email subject - Added changelog