This is a fork of cformsII, a highly customizable, flexible and powerful form builder plugin, covering a variety of use cases and features.

Oliver, the original author, discontinued developing the plugin. This fork is an effort to keep it up to date.

If you want to use plugin versions older than 14.6.3, you should rename the directory containing the plugin from “cforms2” to “cforms”. But bear in mind that old versions should not be used in public systems, because they contain known serious vulnerabilities that are exploited in the wild.

The current security baseline version is 15.0.7.

Related Plugins

Really Simple CAPTCHA for cformsII provides an image CAPTCHA via cformsII’s pluggable CAPTCHA facility. To convert the old CAPTCHA fields to Really Simple CAPTCHA, please install the current version and activate the plugin.

Contact Form DB has support for storing and exporting cformsII’s submission data. Be sure to enable CFDB’s capture submission support for cformsII.

Old Tracking DB for cformsII is for those who do not want to switch from the built-in Tracking DB to CFDB. However it does not have any web interface.

ReCaptcha Integration for WordPress provides a reCAPTCHA implementation for cformsII.


You can see the available languages and contribute via GlotPress. Only some of them that are almost completely translated are installed automatically.

If you want to install another language, please choose its cell in the Development column, export it as Machine Object Message Catalog (.mo) and put it in the wp-content/languages/plugins directory.


Some things are to be done:

  • add a Gutenberg equivalent of the editor plugin
  • filter user input better
  • rework multi-part forms to be independent from PHP sessions
  • refactoring with object oriented approach
  • long term: unit tests and continuous integration


Installing the plugin

You can install the plugin via WordPress Dashboard. It should show up by searching for cforms2. If this does not work for you, there should be an option to upload a zip file, which is available on the plugin directory.

If you want to install manually, please upload the complete plugin folder “cforms2”, contained in the zip file, to your WordPress plugin directory!

If you want to check integrity of the download, please use the cforms2.*.sig GPG signature files that are published via GitHub releases. The key used for signing has the fingerprint D942 6F96 37DC A799 FF0F 9AF2 2626 D169 6443 8E53. The git tags themselves are also signed beginning with version 14.8.

Upgrading the plugin

If you want to upgrade from the original cformsII from, please upgrade to version first, make sure you upgraded your settings (resave your global settings and every form) and backup your database. Then deactivate the original plugin. If you want to migrate your tracking database to CFDB, please install version 14.14 and migrate it. Then you can install the current version of this fork.

The form inclusion does not work with HTML comments (<!--cforms name="..."-->) anymore. You have to use shortcodes [cforms name=”…”] now. Please change the form calls accordingly.

If you want to delete the version by deleting directory “cforms” and you have any cforms-uploaded files, make sure you do not delete your attachments directory, which is contained in the cforms directory by default.

Custom theme (CSS) files

Create a folder in your WordPress plugins directory and call it “cforms-custom”. Move all your custom theme files into it. This folder will protect your changes going forward.

Check out the cforms CSS Guide on layout customization.


Why do I not get any emails from my form?

Most probably this is not cformsII’s fault. Please check your WordPress mail configuration with a plugin like Check Email. If that reports not to work, you don’t have a mail server running or its settings are broken. Please fix it yourself, tell your hosting provider or use an external SMTP plugin (see the next question).

Where are the external SMTP settings?

That function was removed. The WordPress function wp_mail is used for mails now, which makes use of built-in PHPMailer by default. If you want to configure it to use an external SMTP server, use an appropriate plugin, e.g. WP Mail SMTP.

If wp_mail is replaced by some plugin, multipart/alternative emails may not be sent properly, which is the case with e.g. Postman SMTP Mailer/Email Log.

Why is the Form Settings page broken?

This is an incompatibility with WordPress 4.2+ that was fixed with cformsII 14.9.3. Be sure to use a current version.

How can I contribute code?

Please use GitHub pull requests.

Where are comment and Tell-a-Friend fields?

These features were removed with version 14.12.

Where is my database view?

This feature was removed with version 15.0.

Does cformsII expose an API?

cformsII can be extended via WordPress actions and filters. You find their ‘cforms2_’ prefixed names and inline documentation at the apply_filters and do_action calls. Additionally there is one API function that you can call directly: insert_cform. Please have a look at its PHPDoc. Older cformsII versions had an API called my-functions, but that is removed as of version 14.14.


এপ্রিল 18, 2024
Although a lot of features had to be removed, this still is a great and easy to use form-plugin. Thank you for keeping it alive!
ফেব্রুয়ারী 21, 2021
Hi! This is the most customizable and quick form plugin ever! Great thanks to its authors and developers! Additional gratitude for quick support! Wish all the best! I’m sure it is unfairly low number of installations, that must be millions!
ফেব্রুয়ারী 5, 2019 1 reply
New versions are worst. For first – can’t restore to txt and load in other project. Why?? Old version (Cform) could do it. Second – troubles with sending emails. Old version could include SMTP data, now need third-part plugin. Third – troubles with captcha. New version need third-part plugin. Then problems in generating html, now option “select” generate to frontend classical “select” (display:none) and (i don’t know why) active ul-li structure… I’m really crazy about it.
মার্চ 13, 2018
I use CF7 as well, but I like the way cForms II is built.
জুলাই 27, 2017
It is very good and easy to use. Thanks you for all the energy you put into Cforms2.
মার্চ 23, 2017
Folks, this plugin does in an amazing and comprehensive way what other plugins hardly do, and it’s free. Power to the people! Seriously, incredible, well built.
Read all 21 reviews

Contributors & Developers

“cformsII” is open source software. The following people have contributed to this plugin.


“cformsII” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “cformsII” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • bugfix: prevent XSS by escaping output: CVE-2023-52203 and CVE-2024-22149


  • other: (unpublished)


  • bugfix: Fix CSRF by introducing nonces to admin forms (CVE-2023-25449)


  • enhanced: make session extension optional
  • other: remove cookie-based content hiding
  • other: remove custom email line ending


  • bugfix: validate q&a field hint id


  • bugfix: validate {IP} being an IP address, preventing CSRF or other similar attacks
  • other: remove {Referer} substitution variable


  • enhanced: remove deprecated html5datetime field type
  • bugfix: write html5 attributes to field name (long-standing since 14.12.2)


  • enhanced: use HTML5 date field on Form Settings page for the start and end dates
  • enhanced: move style settings to Global Settings
  • bugfix: do not behave differently for 0 as for any other default value
  • bugfix: compatibility with PCRE2 evaluating regex character classes differently
  • other: remove tracking database and its view
  • other: remove track_cforms capability
  • other: remove confirmation email attachment
  • other: remove JavaScript date picker
  • other: remove all deprecated features and warnings about their usage
  • other: remove debugging cruft


  • enhanced: deprecate insert_custom_cform in favour of insert_cform
  • enhanced: for consistency, run JavaScript also for non-AJAX forms
  • enhanced: enable more than one CC me email addresses
  • enhanced: remove extra email and tracking elimination setting for multipart forms
  • bugfix: do not mark all fields invalid if just one field is invalid for non-AJAX forms
  • bugfix: reset multipart forms on every first form
  • bugfix: checkboxes do not use right label if defined
  • added: feature to copy old submission data to CFDB
  • added: WordPress filters cforms2_admin_email_filter, cforms2_cc_me_email_filter, cforms2_auto_conf_email_filter, cforms2_usermessage_filter
  • other: remove persistent file storage (please use CFDB)
  • other: remove 3rd party read-notification support
  • other: remove submission limit feature
  • other: remove Global Settings for Tracking DB
  • other: remove Tracking ID for files and {ID} variable
  • other: remove deprecated HTML comment placeholder
  • other: remove deprecated API functions my_cforms_logic, my_cforms_filter and my_cforms_ajax_filter
  • other: remove image CAPTCHA settings


  • bugfix: fix some verified and some possible authenticated XSS vulnerabilities
  • bugfix: only redirect non-ajax forms for validated forms
  • bugfix: wrong condition for error on auto confirmation message


  • bugfix: fix fatal error caused by using empty() on a function return with PHP < 5.5


  • bugfix: wrong parentheses


  • bugfix: fix authenticated SQL injections in the tracking DB GUI by removing “Delete Entries” and “Download Entries” features and filtering user input
  • bugfix: do not attach the upload directory to auto confirmation mails
  • added: hook wp_mail_failed action to give warnings with PHPMailer error details
  • added: cforms2FormSent JavaScript event on successful form submission
  • other: remove restore feature and with it jqModal dependency
  • other: remove tracking DB GUI’s search
  • other: remove Dashboard widget
  • other: remove the remaining translation files
  • other: remove the form presets
  • other: remove wide_brown_light theme
  • other: remove deprecated my_cforms_logic callers: redirection, successMessage, ReplyTo, adminTO, adminEmailSUBJ, autoConfSUBJ, fileDestination and fileDestinationTrackingPage


  • bugfix: repair wrong cforms2_fieldtype_multi_id construction


  • bugfix: reorganize session reset
  • enhanced: replace jqModal with jquery-ui-dialog in some dialogs
  • other: remove fancy-dark theme


  • bugfix: use right number of fields on dynamic forms
  • bugfix: really change my_cforms_ajax_filter() API function’s data structure to the same as my_cforms_filter (as logged for 14.11)
  • enhanced: always set fancy error messages, label IDs and element IDs
  • enhanced: do not force MyISAM as database engine for the cformsII tables
  • enhanced: use default character set for the cformsII tables to enable utf8mb4 if available
  • enhanced: make debug output editable
  • other: remove “Jump to Error”
  • other: remove backup in weird NUL offset format


  • enhanced: make all date picker options configurable (breaks old datepicker settings)
  • enhanced: remove role capabilities on uninstall
  • other: remove RSS support
  • other: remove Tell-a-Friend support
  • other: remove WordPress comment support


  • bugfix: correct AJAX nonce for submitcform action


  • bugfix: make the AJAX WordPress comment work again (bug was introduced with 14.11)
  • bugfix: remove the “Select: Email/Comment” field type, also known as send2author, which contained a bug since 14.6.3
  • bugfix: remove the “Extra comment notification” field type, also known as commentXnote, which contained a bug since 14.6.3
  • bugfix: also add roles if network activated in multisite
  • enhanced: remove extra comment success message
  • other: replace AJAX WordPress comment forms by non-AJAX ones
  • other: do not save comment form submissions in tracking database anymore


  • bugfix: AJAX forms are saved in tracking database again


  • bugfix: make the cforms2_after_processing_action parameter contain file information not dependent on form configuration
  • bugfix: only show tinymce button when in admin


  • enhanced: unify AJAX and non-AJAX processing
  • enhanced: pluggable captcha API change
  • enhanced: it is possible now to show more than one form with Q&A on one site
  • bugfix: make Q&A check work again in AJAX mode
  • bugfix: prevent using fake CAPTCHAs and Q&As and do not depend on MD5
  • other: my_cforms_ajax_filter() API function’s data structure changed to the same as my_cforms_filter
  • other: remove CAPTCHA feature in favour of Really Simple CAPTCHA for cformsII
  • other: remove Portuguese (Brazil) translation after migration to
  • other: deprecate my-functions API


  • bugfix: fix tracking form download url
  • enhanced: change gettext domain from cforms to cforms2 in cforms-options.php


  • other: remove French, German, Italian, Russian and Ukrainian translations after migration to


  • other: change gettext domain from cforms to cforms2


  • bugfix: load dashicons if not in dashboard


  • enhanced: change CAPTCHA reset button
  • enhanced: remove the old static jQuery UI theme and get current from Google Hosted Libraries
  • added: possibility to change the jQuery UI theme
  • other: remove dark-rounded theme


  • enhanced: replace some icons with Dashicons
  • enhanced: bump up jqModal to the newest version
  • other: replace jqDnR with jquery-ui-draggable
  • other: remove jQuery TextAreaResizer plugin as this is default browser behaviour with CSS 3
  • other: remove possibility to overwrite tracking fields


  • bugfix: do not depend on TLD consisting of only 2-4 characters, even on non-AJAX forms
  • bugfix: do not reset multipage form on back button
  • enhanced: remove old picture in help section


  • bugfix: no duplicate form rendering


  • bugfix: cforms2_make_time: do not depend on timezone being a region
  • bugfix: do not depend on TLD consisting of only 2-4 characters
  • bugfix: undo problematic change from 14.9.6
  • other: remove possibility to show JavaScript alert messages


  • enhanced: make PHP 5.2 compatible again (in 14.9.4 one 5.3 function was introduced)
  • enhanced: on style settings do not include ../.. in request parameters to not cause a false positive in application firewalls
  • other: always show HTML5 field types in form settings


  • bugfix: circumvent fatal error on wrong form date settings


  • bugfix: remove warning message after form submission
  • bugfix: set static datepicker format on forms options page
  • other: remove ClockPick


  • bugfix: settings are not removed anymore on plugin activation
  • bugfix: make HTML5 checkbox have the right status (global settings)
  • bugfix: do not depend on slash in request string to check for admin page (WordPress 4.2 incompatibility)


  • bugfix: eliminate scattered > and missing labels
  • bugfix: fix corrupt settings page path


  • enhanced: convert Q&A feature to the new pluggable captcha API
  • added: pluggable captcha API


  • enhanced: change the my-functions API to be an extra plugin
  • bugfix: Shortcode puts the form to the right place
  • bugfix: missing import in cforms-options.php
  • other: remove basic style editor


  • enhanced: elimination of notices in debug mode
  • enhanced: better mail handling
  • added: introduce WP_DEBUG_CFORMS2 constant for debug messages
  • added: check for upload_max_filesize
  • bugfix: Content-Transfer-Encoding and Content-Type separation
  • other: remove donation button in help section
  • other: remove extra Date, MIME-Version and X-Priority headers
  • other: remove email priority settings


  • bugfix: fix warning introduced with last version’s remote code execution fix
  • added: Russian translation
  • other: clean mail handling


  • feature: add Shortcode to insert forms
  • bugfix: fix remote code execution via file upload
  • enhanced: make TinyMCE plugin localization part of gettext
  • enhanced: use TinyMCE 4 API and redesign TinyMCE form insertion
  • added: Brazilian Portuguese and French translations


  • enhanced: replace Subscribe To Comments support with a more general approach to also support Subscribe To Comments Reloaded
  • added: Bosnian, Croatian, Serbian, Simplified Chinese and full Ukrainian translations
  • other: remove old WP Ajax Edit Comments support, because current versions work without special support


  • enhanced: API function my_cforms_action() can throw an exception
  • bugfix: several AJAX related JavaScript undefined function bugs introduced in 14.6.8
  • bugfix: repair non-AJAX comment form
  • other: remove support for old Comment Luv versions


  • enhanced: use WordPress 2.8 Widget API
  • bugfix: JavaScript error on flexigrid drag event
  • bugfix: show errors on sending mail
  • bugfix: mitigate some possible SQL injection attacks
  • other: remove attribution link, because the original cforms site is shut down



  • enhanced: full German and Italian translations
  • enhanced: use jquery-ui-sortable instead of its ancient Interface Elements predecessor
  • added: store version in database again
  • added: migration for month and day names


  • enhanced: reorganize JavaScript files to provide better dependency management
  • enhanced: bump up ClockPick to the newest version
  • enhanced: bump up jqModal to the newest version
  • enhanced: use jQuery wrapper for md5.js
  • enhanced: replace the color picker with iris (wordpress standard since 3.5)
  • feature: uninstallation deletes cforms database content
  • bugfix: captcha preview in global settings renders correctly
  • other: remove kibo dependency
  • other: removed unused images and code (including GPL incompatible, stolen JavaScript code)
  • other: replace donation button


  • bugfix: wrong AJAX MIME type
  • added: guideline to upgrade from original cforms
  • other: removed old upgrade code
  • other: moved some additional information in textfiles to readme.txt


  • other: reintroduced the public insert_cform function


  • bugfix: hanging form submission


  • feature: Use the ____Plugin_Localization directory to store and distribute some GPL translations
  • enhanced: unobfuscate JavaScript changes from version 10.3 on and kick out which was not updated since then
  • enhanced: WordPress function wp_mail is used for mails and direct PHPMailer support is removed
  • enhanced: make use of the native WordPress AJAX features
  • enhanced: get rid of the data.tmp and abspath.php files
  • enhanced: get rid of some paths and urls in the database
  • enhanced: bump up flexigrid to the newest version
  • other: replaced the captcha fonts with GPL fonts
  • other: reintroduced attribution link, that is opt-in now, which is demanded by the plugin guidelines
  • other: prefix function names and class names with cforms2, which is demanded by
  • other: remove the custom plugin update check
  • other: remove of a lot of old code which is not needed for WordPress 3.3+
  • other: remove v13 update information
  • other: move and rework changelog to be Markdown-compatible and have a tag subset


  • bugfix: issues upgrading from older versions of cforms
  • other: removed link at the bottom of the contact form


  • bugfix: SSL support on file includes
  • bugfix: double slash in file includes


  • added: NEW: my_cforms_filter() in my-functions.php (input filter)
  • bugfix: Security/SPAM issue with TellAFriend feature
  • added: Avoiding wpautop screwing with the layout
  • added: Changed the_content filter priority to deal with themes demanding wpautop
  • bugfix: multi-part forms: RESET button resets complete input and not just session


  • added: WP3.4 compliance
  • bugfix: CAPTCHA security issue; can’t override captcha settings via URL params
  • bugfix: re-enabled version update info on the native WP plugins page


  • added: added more IQ to my-functions.php:
    “adminEmailSUBJ” & “autoConfSUBJ” to change the subject line during run-time
    Also, check out Regis’ code example in this new section!
    Thanks Regis!
  • added: “\n” in the default text of textarea fields is recognised as a new line character
  • bugfix: Call-time pass-by-reference in lib_aux.php
  • bugfix: XML download, imports now nicely into excel, even with multi-line fields
  • bugfix: corrected superfluous html5***** settings for non html5 fields
  • bugfix: bigger field label issues when using custom IDs and regexp
  • bugfix: localization issue with lib_editor.php and added French translation for the editor. Thanks Regis!


  • bugfix: localization in wizard popups
  • bugfix: array declaration error some experienced in lib_activate.php
  • bugfix: header inclusion/exclusion on specific pages


  • enhanced: tabbed navigation between form configuration fields
  • added: date picker support for year selection drop down
  • added: HTML5 support, new Global Settings (must be enabled first) and Form Options:
    html5color, html5date, html5datetime, html5datetime-local, html5email, html5month,
    html5number, html5range, html5search, html5tel, html5time, html5url, html5week
  • added: new my_cforms_logic() routines “fileDestination”, “fileDestinationTrackingPage” for uploads
  • bugfix: date picker start day
  • bugfix: loading of calendar style (css)
  • bugfix: form submission restrictions (from/to date and number)
  • bugfix: extra slash removed from plugin URL (fixes path to custom CSS file in /cforms-custom/)


  • bugfix: CC field issues for MP forms
  • bugfix: Reply-To fixed in admin email
  • bugfix: fixed ‘custom names’ form feature
  • added: hidden field default value supports cforms {default variables},eg. UserID, Name etc.


  • bugfix: undefined function ‘my_cforms_logic’


  • bugfix: XSS security issue with lib_ajax.php
  • bugfix: several fixes around “CC: me” field
  • enhanced: added Help Note on how to use {Custom Variables} in multi-page forms
  • bugfix: default checkbox state is not restored on form reload (user choice remains)
  • bugfix: removed depreciated eregi() & split() calls
  • enhanced: better support for SSL and multi-site deployments (WP v3x!)
  • bugfix: “Corrupted Content Error” on FF when backing up settings
  • feature: empty fields can now be excluded from the admin email
    (Admin Email Message Options)
  • bugfix: multi-page forms: the “disable email attachments” setting for individual
    forms is now being considered in the final admin email
  • enhanced: fixed several issues with multi page forms (accidental auto resets etc.),
    forms now need to be manually reset via form reset button (setting),
    no auto form reset anymore when on first form!
    form session is properly remembered.
  • enhanced: calendar.css adjustments to make styles specific to cforms


  • bugfix: radio button fix


  • other: WP3.3 compliance
  • other: a new more modern default theme/style (cforms2012.css)
  • other: WP 3.3 jQuery / jQueryUI is now being used for the date picker!
  • other: link to supported date formats added to global settings screen
  • other: enhanced dashboard layout / listings
  • other: enhanced in-field editing on tracking page (“view records area”)
  • bugfix: checkbox “default state” setting fixed
  • bugfix: checkboxgroup “default states” & “new line” settings fixed
  • bugfix: several admin screens related fixes
  • bugfix: tracking page, download options fixed (header, URLs etc.)
  • other: checkbox fields now include a “checked symbol”, instead of the word “on”
  • other: email layout enhancements (optimized for gmail & HTML capable clients)
    !!! NOTE: in order to fully enable the new layout for old forms, you MUST
    reset the Admin & Auto Confirmation Messages (see button above each)


  • other: pare_str() caused issues for some, commented out now


  • bugfix: minor datepicker adjustment (for anyone that uses non standard date display)


  • other: WP3.2.1 compliance
  • other: upgraded to jQuery 1.6.2 (datepicker)
  • bugfix: corrected WP comment form issue ($usermessage_text)
  • bugfix: Zip Code RegExp in the Help Seection corrected
  • bugfix: date picker fix for WP3.2


  • bugfix: IE9 date picker fix


  • bugfix: fixing PHP’s issue with uksort()
  • bugfix: upload fields in forms could cause hang ups when submitted from iphone/ipad
  • other: enhanced path determination in cforms.js, should help to avoid issues going forward
  • other: session check in cforms.php to better support existing sessions (shopping carts etc)


  • bugfix: stalling of upload forms fixed (or ones with alternative form action)


  • other: enhanced support for form field arrays, e.g. : my-field[id:address[]]
  • bugfix: fixed jQuery wizard editor error
  • bugfix: fixed “upload field” handling & form error (stalling)
  • bugfix: sorting fixed for API call “get_cforms_entries()” – hopefully for good


  • bugfix: fixed function_exists() call in lib_functions.php
  • bugfix: fixed some date picker related bugs
  • bugfix: fixed PHP call insert_cforms() to accept “Form Names” as input (again)


  • bugfix: much enhanced/fixed REGEXP support for multi-line fields, to better support anti
    SPAM measures, e.g. : ^(?!.(xxx|seo|ptimization)).$


  • bugfix: fixed missing spaces in multi-line text fields


  • added: addded Form Name to <form> element for easier styling across sites
  • other: changed edit / delete icon for better distinction
  • other: plugged a potential (but unlikely to be exploited) security hole
  • other: changed MySQL calls from direct code to using $wpdb
  • other: updated included PHPMailer code to the latest release
  • bugfix: fixed issue with undefined “file size limit”
  • bugfix: sorting fixed for API call “get_cforms_entries()”
  • bugfix: textual changes


  • other: WP 3.0 compliance


  • feature: added Belarusian (be_BY) by Marcis G.
  • feature: NEW CORE OPTION : disables enctype, to support e.g.
  • feature: enhanced JS regular expression validation, supporting multi-line searches/
    prevention from using spam words, e.g. ^(?:(?!spam-word|seo).)*$
  • feature: on UPLOAD forms, submit button gets disabled to prevent false resubmission
  • bugfix: fixed double quote “” issue in XML tracking downloads
  • bugfix: fixed loading issues of the TRACKING page
  • bugfix: fixed deletion of ATTACHMENTS on server when deleting tracked submission
  • bugfix: form names for recent submissions show accurately now on WP DASHBOARD
  • enhanced: added security around “remove/delete plugin” function


  • bugfix: MULTIPLE RECIPIENTS: fixed issue with ‘required’ & non-valid entries


  • bugfix: WP 2.9 idiotic $_REQUEST / get_magic_quotes_gpc() override in wp-settings.php

  • feature: cforms headers: can now also be excluded on certain pages (Global Settings))

  • bugfix: file upload: fixed renaming of multiple attachments (multiple ‘-‘ issue)
  • bugfix: file upload: fixed missing default upload path (absolute path))
  • bugfix: TAF: fixed TAF show/noshow for TAF forms in the sidebar and in a post/page
  • bugfix: auto confirmation settings: fixes saving of “subject” text
  • bugfix: drop down / select box: fixes “selection of last item” issue after form reload
  • other: “don’t clear on reset” auto. turned off when enabling multi part/page forms
  • other: improved page load and UI experience, fixed some UI text areas


  • bugfix: SENDBUTTON: fixed support for quotes and single quotes in submit button text
  • bugfix: get_cforms_entries: fixed old data issue in $cfdata
  • bugfix: MULTI RECIPIENT: fix for non-valid ‘-‘ entries
  • bugfix: TELL A FRIEND: added option to turn off CC: for submitting user
  • bugfix: WP COMMENT FORM: major bugfix for ajax & non-ajax submission
  • bugfix: UTF8 tracking page downloads are now properly coded utf8
  • bugfix: Javascript for SAFARI optimized (no more time-outs)
  • bugfix: MULTI-RECIPIENT documentation on Help! page corrected


  • feature: MULTIPLE RECIPIENTS support revamped (supporting multiple email accounts per option)!
  • feature: admin UI revamped (please note the new fixed ‘action box’, right hand side!)
  • feature: PHP 6 compliance: added input processing support to accomodate PHP’s DEPRECATED
  • feature: added a new my-functions.php logic routine: “successMessage”
  • feature: UPLOAD field noid- (or ID) prefix can be turned off
  • feature: enabled Email-Priority for the SMTP feature
  • feature: admin UI option boxes: supporting clickable option titles bars
  • feature: added two new system variables: {CurUserFirstName} & {CurUserLastName}
  • feature: supporting multiple form fields with the same name in get_cforms_entries()
  • feature: BCC field now supports multiple email addresses
  • feature: conditional redirection (my-functions.php) can now return “” (empty string) to cancel
    redirection altogether

  • bugfix: fixed “magic deletion” of \ (backslashes) for some users when updating settings

  • bugfix: fixed popup time entry for “submission limit”
  • bugfix: form deletion: fixed error when having more than 10 forms.
  • bugfix: fixed deletion of auto confirmation settings when turning off this feature
  • bugfix: fixed form duplication bug that would prevent ‘Multi-part settings’ to be copied
  • bugfix: form deletion: fixed proper consolidation of remaining forms / settings array
  • bugfix: TAF: fixed WP quickedit; now keeping the TAF setting when updating post
  • bugfix: fixed sorting for int() values in get_cforms_entries()
  • bugfix: “geomaplookup” call adjusted to new URL
  • bugfix: RSS title missed a stripslashes()
  • bugfix: Admin email missed a stripslashes() for the form data title
  • bugfix: Tracking/download of CSV: “Add URL for upload fields” option fixed for MP forms

  • other: plugin removal code enhanced (turns off plugin automatically now)


  • feature: completely rewritten sidebar WIDGET SUPPORT, pls recheck your widget setup!
  • feature: auto confirmation messages now support an attachment
  • feature: radio buttons can now be “required” when no radio box should be checked by default!
  • feature: added strip_tags() to TEXT message part of the admin email
    (to avoid HTML in plain TXT)
  • other: house keeping, cleaning up & rearranging admin UI
  • feature: backwards compatible now: supporting PHP4
  • bugfix: label issues with “(” and “)”, which would not show in the admin email (&tracking)
  • bugfix: minor code fixed, mostly cosmetic
  • bugfix: nonAjax form submission would not allow single quotes in custom field ID/NAME
  • other: amended Help section
  • other: typos/corrections on Help! page


  • bugfix: WP comment form feature:: fixed {custom var} replacement in admin email (ajax mode)
  • bugfix: WP comment form feature:: fixed “send to author” option in cforms’
  • other: admin email addresses now support “+” , e.g.


  • feature: Email Priority can now be set under “Core Options”
  • bugfix: insert_cform(‘1’) would cause minor issues if your default form was a TAF form
  • bugfix: Limit Text is now saved even if no #-limit is provided
  • bugfix: fixed =3D issue for some users (admin email layout)


  • feature: redirect options: “hide” & “redirect” have been split, allowing both
    find ‘hide’ under ‘core options’ now
    make sure to check both options, they may have been reset!

  • feature: email: supporting mail server that strictly require CRLF
    new option under GlobalSettings > Mail Server Settings

  • bugfix: field labels that would have an escaped character (e.g quotes) would not be
    referenced correctly and required a slash until now (e.g. {Your friend\’s Name} ).

  • bugfix: fixed minor XSS cross site scripting vulnerability
  • bugfix: select boxes: fixes the “auto select” of the last drop down option
  • bugfix: email: fixes CR’s in multi-line fields
  • bugfix: email: fixing SMTP / PHPMailer attachments
  • bugfix: email: MIME / boundary fix
  • bugfix: email: several cosmetic fixes
  • bugfix: WP comment: fixed Ajax submission of WP comments
  • bugfix: fixed get_cforms_entries() when using “form name” parameter
  • bugfix: fixed WP comment form ‘comment id not found’ error

  • other: plugin update notice has become smaller / can be toggled

  • other: updated Help page (API section)
  • other: enhanced API function get_cforms_entries()
    get_cforms_entries( $fname,$from,$to,$cfsort,$limit,$cfsortdir )
    $fname = [text] : form name (case sensitive!)
    $from = [date] : e.g. 2008-09-17 15:00:00
    $to = [date] : e.g. 2008-09-17 17:00:00
    $cfsort = [text] : any input field label, e.g. ‘Your Name’
    or ‘date’, ‘ip’, ‘id’, ‘form’, ’email’
    $limit = [numeric] : limits number of records retrieved
    $cfsortdir = [text] : sort direction ‘asc’ or ‘desc’
    (see updated Help page too!)


  • feature: new my_cforms_logic() features:
    “adminEmailTXT” & “adminEmailHTML”, “autoConfTXT” & “autoConfHTML”
    to support run-time changes in the email message part(s),
    e.g. {user_variable} substitution supporting custom/one-off messages
  • feature: tracking / download: revised and fixed downloads that include field headers
    in several areas
  • feature: tracking / download: added optional inclusion of attachment/file URLs
  • feature: tracking / download: added optional inclusion of IP address in report
  • feature: tracking / download: completely revised the tracking download function to
    accommodate very large numbers of records, make sure that js/include/data.tmp
    is writable!
  • bugfix: fixed access to $subID from within my-functions.php for Ajax post method
  • bugfix: file uploads/attachments: revised, better internal handling
  • bugfix: file uploads/attachments: fixed link/URL issue for MP forms
  • bugfix: file uploads/attachments: all files are now being attached to admin email for
    MP forms
  • bugfix: WP comment form: fixed email to author in non Ajax mode
  • bugfix: Fixed “extra variables” (e.g. {Title}) to display again in admin email etc.
  • bugfix: success message: fixed buggy message display (‘*$#..’) in special cases
  • other: Javascript Date Picker updated to latest release
  • other: admin emails: turned upper case HTML tags to lower case
  • other: admin emails: swapped LF for CRLF (according to RFC822 Section 3)


  • feature: RSS feed: revised and enhanced feeds (all & individual form feeds)
    supporting inclusion of form fields in the feed
  • feature: new API function: cf_extra_comment_data( $id )
    will retrieve all extra fields per given comment ID in a data [array]
    see tutorial online (troubleshooting forum)
  • feature: enhanced option to keep input field data (no reset) after submission
    (both ajax & nonajax)
  • feature: cforms allows now to optionally turn off the admin email (and only track via DB)
  • feature: “redirect on success” can now be used to jump to any location on your page after
    form submission
  • feature: threaded comment support for cforms’ WP comment feature
    note: nonAjax will work as is, for the Ajax method you need to adjust your WP theme to
    work nicely with cforms (dynamically set the parent container!)
  • bugfix: multi-part forms: no more session resets / jumping to first form
  • bugfix: multi-part forms: confusion of prev. entered field values when going to previous form
  • bugfix: escaped ‘<‘ & ‘>’ in input fields, which allows to properly send code in a form as well
  • bugfix: a few admin CSS fixed (e.g. resizable text areas)
  • other: smaller cosmetic fixes
  • other: input field default values will now remain actual values and not be cleared!


  • bugfix: WP comment form : fixed issues when form #1 was enabled as WP comment form replacement
  • bugfix: fixed Cross-site_scripting security hole (rarely to be exploited but anyway)
  • bugfix: multi-part form: fixed issue, when first form is the default form (#1)
  • bugfix: multi-part form: fixed escaped quotes when going back
  • bugfix: textarea fields: fixed carriage returns in HTML part of admin email
  • other: buttonsnap has been removed


  • feature: added form option to turn off tracking for a given form only
  • bugfix: improved method of adding admin scripts/CSS (to better support preWP2.7 systems)
  • bugfix: added UI CSS mods to accomodate pre WP2.7 admin interface
  • bugfix: wrong dashboard icon extension (png vs gif)
  • bugfix: hover text over AJAX option on ‘form settings’
  • bugfix: multi-page forms: after final submission, form #1 on occasion would render only partly
  • bugfix: multi-page forms: if used with “WP comment form feature” at the same time, comment form would also be replaced with the current multi-part form
  • bugfix: multi-page forms: when deploying several MP form series the SESSION would in some cases not be reset
  • bugfix: in v10.0 access priviliges for tracking required to be “manage_cforms”
  • other: fixed CommentLuv support
  • other: WP2.7+ fixed admin UI : support for removeable top err/warning messages
  • other: a few minor UI adjustments to accommodate 1024px wide screens a tad better
  • other: some cosmetic icon adjustments


  • feature: “manual/help page” now also offered in form of a PDF (see help page)
  • feature: enhanced Opera Browser support
  • feature: complete admin UI update: WP2.7’ized it (code and CSS)
  • feature: multi-part/-page form support
  • feature: added dashboard support for WP 2.7
  • feature: general enhancements on tracking page (time stamps on entries etc)
  • bugfix: regexp now allow OR | operator,e .g. ^(a|b)c
  • bugfix: datepicker localization for admin interface
  • bugfix: email verification fields (special regexp) would not work with custom err messages
  • bugfix: fixed install bug that appeared on some WP 2.7 deployments (redeclare err)
  • bugfix: fixed captcha issue for nonAjax forms
  • bugfix: insert_cform() would show the default form versus a specified one
  • bugfix: minor admin email issue re: inclusion of CAPTCHA input
  • other: updated and cleaned up help page
  • other: much improved admin captcha config preview (no saving necessary for preview anymore!)
  • other: made some admin …