The Fast Secure Contact Form 4.0 project began in late August 2012.
Mike Challis hires Ken Carlson temporarily for this project to do the bulk of the programming.
August - September 2012: Discussion and planning - Mike Challis and Ken Carlson
October 2012: Programming starts for a brand new Fast Secure Contact Form 4.0
- add tabs to options section for improved user experience
- combine standard fields with custom fields (w/ some limits what can and cannot be done to standard fields)
- use WP settings API for improved security and maintainability
- write upgrade function to import data from legacy version
- simplify and clean up the code
Phase 1: options menu: create options menu, enter, edit, save and load settings, test
Phase 2: contact form: update code to display and process contact forms, test
Phase 3: implementation: write upgrade function, do Beta testing, trouble shooting
Version 4.0 dev 1.0 (10/09/2012)
- new codebase with better use of class structure.
- new way if navigating multiple forms via a drop down select instead of hyperlinks.
- the admin settings are now grouped into a jQuery tabbed interface.
- you can re-order the display sequence of all the fields via a drag and drop interface.
- button to add a new field anywhere in the form.
- the standard fields (name,email,subject,message) can now be manipulated and re-ordered along with the extra fields.
Version 4.0 dev 2.0 (10/30/2012)
- all options table values are now in the tabs
- buttons to add a new form and add a new field work
- backup/restore/copy settings works ftom the Tools tab
- added a tab for the Preview, which will work once we write the code to display the contact form
- added a checkbox for an option to have a form field on the same line as a previous field
Version 4.0 dev 2.1 (11/01/2012)
- mostly code cleanup, restructuring code design, and bug fixes.
Version 4.0 dev 2.2 (11/10/2012)
- added Reset Form function to Tools tab
- added Delete Form function to Tools tab
- added Delete Field function (but not for standard fields)
- added DISABLED message to disabled fields
- Reset Styles checkboxes now work (need to complete form display module to test this)
- "Save Changes" now returns to the same tab after saving
- Check Akismet key checkbox now works
- added html entities unencoding before saving to database
- fixed regex syntax error in validate() function (thanks, Mike!)
- added esc_html to display of form name
- other minor improvements
- testing of all of the above
Version 4.0 dev 2.2.1 (11/13/2012)
- fixed error: undefined index delete when resetting a form to defaults
- email field type limited to text or email
- changed delete form so that Form 1 cannot be deleted
- added star ratings and version check
- changed set form to default settings to retain the form name (everything else is changed to the default)
- corrected invalid html in the instructions for fields (text in blockquote must be in a container such as p or div)
- reduced the "jump" when the page loads and the tabs are rendered
Version 4.0 dev 2.2.2 (11/16/2012)
- restructured some functions to make it easier to implement form display
- fixed bug that would sometimes assign an incorrect number to a new form
- implemented changes from newly released v. 18.104.22.168 of the plugin
- added form name to delete form confirmation dialog box
- replaced ctf_stripslashes() with stripslashes() or stripslashes_deep() (for inner arrays)
- implemented update_lang() function
- form field names must be unique, because they will be used to identify fields
- fixed invalid html caused by displaying ctf_action messages too early -- didn't display anything in IE 8
Version 4.0 dev 2.2.3 (11/20/2012)
- changed form rating star style names to avoid conflict w/ WP styles and improve look
- added esc_attr() to display of form name, to prevent XSS attacks
- updated and tested uninstall.php
- fixed bug when deleting a form, then restoring all (didn't appear in form list)
- fixed duplicate form field names: two fields were named 'si_contact_backup_type'
- returns to the same tab after Save Changes on all three major browsers
- added new form textarea field to enter options for select/checkbox/radio field types, this will make it much simpler to add options
Version 4.0 dev 3.0 (12/06/2012)
- implemented module to draw the form on the web site (submit and reset don't work yet)
- all field types display on the contact form
- set up slugs in fields settings, built from field name, forced to be unique, they are used for HTML field names and optional GET inputs
- the slugs are now called "Tags" on the settings page
- tested tags with other languages: works with Chinese and German text
- fixed several things in the settings section
- all optional GET query variables seem to work
- there are no defaults for password, time, or attachment (having one for 'time' would be nice?)
- combined field setting 'default_text' with 'default' to simplify settings
- changed input field 'value' on contact form: option index or '1' for single checkbox. For multiples: array of indexes
- added ability to set default for select-multiple and checkbox-muliple in settings with a comma delimited list
- removed Geekmail from the Options menu
- Captcha displays properly (can't test it until process form code is ready)