Version 4.0.7
Extension Key: th_mailformplus
Copyright 2000-2007, Dev-Team Typoheads, <dev@typoheads.at>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.com
First of all:
Many thanks to all the people who supported me and helped improving this extension!
When you reach the limits of the standard mailform functionality of typo3 (especially when you want the form to look special) you can use this module to use your conventional HTML-forms (as HTML-snippets) with full mailform functionality.
Displays your conventional HTML-form
checks fields that have to be filled out – displays error message (you can specify the fields you want to check)
sends all fields with the values to one or more e-mail addresses (also configurable)
if successful: it does a redirect to a page (also configurable)
full javascript support for validating fields before the form is submitted (has to be implemented manually in the HTML snippet containing the form)
current languages: English, German, Italian (since 2.4.0)
you can send a special formatted email to the user himself e.g. “confirmation” or “thank you for your interest, we will contact you soon”
you can automatically fill out the form with the data of the frontend user who is logged in. (since 2.4.0)
submitted data is stored in the database and can be exported via .csv file (since 3.0)
data can be stored in a DB table of your choice (can be configured via TypoScript) plus file upload support: user can upload a file (you can limit type and size via typoscript) (since 3.1)
extended error messages: you can define your own error messages for the fields (since 3.1)
build dynamic input forms with the use of TypoScript (since 3.4)
“secure” mailform with captcha support (ext: “captcha”) (since 3.7)
multipage forms (since 3.9)
HTML mails, plain text mails, multipart mails (HTML+plain) (since 3.9)
server side error check (since 3.9)
better file upload handling (since 3.9)
summary of submitted form on the “thank you” page via PRINT-subtemplate stored in session (since 3.9)
multipage forms, where the templates of the different steps can be loaded depending of user input/selection. (since 4.0.0)
backend multilanguage support using flexforms (since 4.0.0)
frontend multilanguage support (since 4.0.0)
Spam protection and notification mechanism (since 4.0.0)
Automatically mark required fields in frontend (since 4.0.1)
Frontend listing of sent form data (since 4.0.1)
Redesigned backend view for csv export with new features (since 4.0.1)
bugfixed email_html_as_attachment TS option
bugfixed replacement of empty markers
new feature to process form values before actually processing the form through Mailformplus
bugfixed checking of arrays
updated language files
bugfixed initialization of $this->get_post
added some forgotten translations to locallang_db.xml
added functionality for postprocessing form data
moved loading of default values to include TS settings
added description for TS-option noDefaultErrorList to manual
small bugfix in debug mode
small bugfix in improved_demo.html
bugfixed replacing of not matched markers (thanks to Claudio Strizzolo <Claudio.Strizzolo(at)ts.infn.it>)
new TS option email_html_as_attachment to send html version of email as attachment (thanks to Claudio Strizzolo <Claudio.Strizzolo(at)ts.infn.it>)
Added possibility to enter a comma separated list of email addresses and form filed as default.email_to
New TS option to save the form values into a different DB (requires ext “adodb”)
Bugfixed uploading of multiple files
bugfixed newlines in plaintext mails
New configuration feature: different forms can be predefined via TypoScript – one of the predefined forms can be selected via dropdown in the plugin element
UPDATE already stored records in the DB instead of INSERTing a new record
error_check “isNotInDBTable” and “isInDBTable” can be extended with a “where” string
Bugfixed usage of textareas: linebreaks in textareas get converted to <br /> in html emails.
Added hook to fill custom markers in the template (thx to Sebastian Baumann <sebastian.baumann(at)vipa.de> and Georg Ringer <mail(at)ringerge.org>)
Use TS markers in ###TEMPLATE_SUBMITTED_OK###
When reloading a submitted form, the initial form will be displayed, not the TEMPLATE_SUBMITTED_OK anymore.
bugfixed usage of errorUserFunc
bugfixed reading of correct print template (thx to Michael Trammer <trammer(at)sethora.de>)
bugfixed usage of markers with German Umlauts. (thx to Kai Draeger <k.draeger(at)media-arts.de>)
bugfixed usage of mailformplus with RealUrl. No more # in javascript back and next links. (thx tp Ralf Merx <ralf.merz(at)heindl.de>)
Added XML versions of all language files.
Language markers in HTML template file can now be uppercase too (Note: In language file please use lowercase version).
Example files for usage of the three supported captcha extension in folder example_form/captcha.
New TS option noDefaultErrorList to disable listing of all errors occurred in the marker ###error###.
Bugfixed usage of custom error messages with captcha fields.
Corrected some mistakes in the manual.
Added possibility to add more than one file as attachment.
Bugfixed usage of multistep forms with conditions.
New feature giving possibility that not filled out fields are not shown in e-mails and subpart ###TEMPLATE_SUBMITTED_OK###. (special thx to Stephan Bauer <stephan_bauer(at)gmx.de> for the hint and the code). Have a look at “How to hide not filled out values in e-mails” for details.
Important security fix! Improved file upload security and added a check against XSS.
new Typoscript-Option checkBinaryCrLf to replace x'0a' line feeds with <br /> in e-mail text. Have a look at section Configuration for details. (Thanks to Kurt Kunig <kurt.kunig(at)gmx.de>)
Automatically mark required fields in the form.
New Frontend Plugin generating a list of all sent form values. (Thanks to Kurt Kunig <kurt.kunig(at)gmx.de>)
Supports spam protection using the jm_recaptcha extension
bugfix: error check with ereg or eregi will work now ;)
bugfix for saved absolute paths to template.
bugfix: it is now possible to use ts markers in error subparts.
some bugfixes when using arrays of checkboxes.
bugfixed not working substitution of file upload specific markers
possibility to completely turn off saving to log-table (saveLog = -1)
new error checks “min” and “max” for checkbox arrays.
check dates for a certain range (min date, max date)
define filepath or fieldname of a file to be sent as attachment of the receiver e-mail
bugfix with comma separated list of error checks: space allowed
redesigned backend module view
bugfixed backend listing and csv export
new features to store ip address and submission date in logging table
saveDB.allFields Typoscript option to store all form field values into one db field
new errorCheck-Options in Typoscript (isInDBTable, isNotInDBTable, notDefaultValue, userValidation)
new saveDB-Options in Typoscript to save Arrays in DB (fields.seperator) (Thanks to Christian Müller <christian(at)kitsunet.de>)
new saveDB-Options in Typoscript for mapping (fields.[fieldname].mapping, .preProcessing, .if_is_empty)
Spam protection options in TS ( doNotCheckReferrer, spamNotify)
Further Spam protection: form can only be submitted once (session)
Multilanguage support via Markers ###LLL:fieldname### with according entry 'fieldname' and 'error_fieldname' in a language file defined via TypoScript-setting plugin.tx_thmailformplus_pi1.langFile (Thanks to Jörg Körner <jk(at)idaa-net.de>)
Possibility to define multipage forms with different routes, using postfixes for the template subparts. These postfixes can also be used for error and email subparts to define different error texts or email texts for different user chosen routes. Integrated fallback mechanism to search for other templates if none is found with current postfix.
New markers ###REL_URL### and ###ABS_URL### for relative and absolute path to the form page.
To ensure XHTML-conformity: changed 'checked' to 'checked=”checked”' and 'selected' to 'selected=”selected”' (Thanks to Maik Vlcek <maik.vl(at)web.de>)
New TS-Setting multipage_without_js to give possibility to set up multipage forms not using JavaScript (Thanks to Ralf Hettinger <info(at)ralfhettinger.de>)
New TS-Setting multipage_without_auto_hidden to give possibility to set up multipage forms not hiding unused form step using CSS. (Thanks to Ralf Hettinger <info(at)ralfhettinger.de>)
Template can be saved as content element of a page, not only be imported from a file (Thanks to John Angel <johnange(at)gmail.com>)
New saveDB-Setting specialMapping (sub_datetime, crdate, logIP, storeuid)
Backend multilanguage-support using flexforms (Thanks to Marcel Alburg <alb@weeaar.com>)
Fixed some minor bugs, including bug, when uploading files with blanks or . in filename. (Thanks to Felix Gebhard <fgebhard(at)exinit.de>, Stefan Fetsch <sfetsch(at)wollert-it.com> and Michael Wagner <kontakt@michael-wagner.de>)
New marker for reference to saveDB uid (activated by saveDB.specialMapping.storeuid): ###DB_UID###
Hook handler class with 3 examples show_form_postHandling, send_form_markers, error_eval provided by Ralf Hettinger.
New TS-Setting plugin.tx_thmailformplus_pi1.correctRedirectUrl to substitute '&' with '&' in redirect URLs.
plugin.tx_thmailformplus_pi1.default.* can now not only be TEXT objects, but any TS-object.
plugin.tx_thmailformplus_pi1.markers.[fieldname] can have new value SUBPART to substitute a marker with a subpart both defined in the HTML template
New TS-Option to disable the errorChecks of form fields.
New TS-Option to be able to dynamically load a stylesheet file.
fixed bug, when using “fvalidate” for javascript form check.
new option to define multilanguage error texts with typoscript (Thanks to Stano Paška <stanislav.paska@kios.sk>)
multipage forms (attention: only works with JavaScript enabled, special naming requirements within template)
sending mails: HTML, plain, HTML+ plain (multipart). special thx to Andreas Westermaier!
server side error check: defined via TypoScript. predefined checks like “email”, “integer”,.. built in. advanced error checks via regular expression can be defined.
file uploads: file size, type upload directory can be defined per upload field via TypoScript.
PRINT-template showing a summary of the submitted form on the “thank you” page (note: since this template is stored in session data, it has to be printed out via a user-function)
all values are now automatically stripslashes() and htmlspecialchars() transformed to prevent code injection
TYPO3 4.0 compatible (path to tslib directory)
template-file: reference to file can be stored instead of making a copy
new TypoScript setting:saveDB.if_is_empty.[fieldname] = [value if field is not filled out]
log-table: field "date" changed to "logdate" (typ:timestamp)
example mailform provided in "example_form/" directory
"email from" field can have blanks now: "my real name" <email@domain.com>
bugfix: PHP 4.4.2. header(..."\n\n") fixed
bugfix: export to csv: first line shows field descriptions for sure
bugfix: if no files uploaded: error was shown