Version 3.8.0
Extension Key: th_mailformplus
Copyright 2000-2006, Peter Luser, <peter@typoheads.com>
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 that 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-formulars (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 emailaddresses (also configrable)
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: englisch, 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 interst, 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)
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
mail injection prevention
captcha support (ext: “captcha”) use ###CAPTCHA### to display the captcha image
realurl support/bugfix (thx to Dominik B�hm)
hook for calling your own user functions when the form was submitted correctly (thx to Martin Kutschker)
several small bugfixes
tested with TYPO3 v. 3.8
bugfixes for saving data in a table of your choice and when using upload files
improved file upload handling (markers to use in emails)
better example for “save in table of your choice” and “file upload” functionality
TS parameter “emailParameter” that is sent as 5th parameter in mail() function (e.g. for “-f [emailaddress]”)
primitive debug functions (activated via TS, only for programmers!)
new backend input field “reply_to”: sets the “reply-to” header in the email to the admin to the email filled out by the user
more TypoScript features built in: you can define default values for subject, sender, receiver,... via TypoScript. These fields are overruled by the values you define in the “th_mailformplus” element.
more functionality for backend-module: already exported records are not shown in the list anymore (can be disabled); also added more comfortable selection of pages having mailformplus records stored (replaces the inputfield where you had to fill in the pageIDs you want to export)
added support for pulldown fields: ###selected_[fieldname]_[value]###
Typoscript added to specify what filelds should NOT be saved into the logfile-table
added “raw export” functionality to export entries from log-table without data-structure check and filed names
added “convert UTF-8 to ISO-1” functionality when exporting data as csv
Typoscript functionality added: you can define markers in your HTML-template that are replaced by a defined Typoscript element
added the possibility to add header informations to the email-header via typoscript
default character set of the Typo3 installation is taken as character set for the emails sent out (useful if you use UTF-8 for multilanguage sites)
HTML-subtemplate for the email sent to the receiver specified in the mailformplus plugin added: <!-- ###TEMPLATE_EMAIL_RECEIVER### begin --> ... <!-- ###TEMPLATE_EMAIL_RECEIVER### end -->
Typoscript added to specify what filelds should be saved into the logfile-table and in which order (needed for consistent csv-export format)
Formular fields can be stored in a DB table of your choice. This can be configured via TypoScript. Naming of te database fields need not be the same as the field names in the form.PLUS: Support for file upload. The user can send a file along with the form. You can configure where it's saved, what's the max size and what type of file it has to be (jpg,gif,...)
Error messages: You can Specifiy a error message for each input file and use the ###error_[fieldname]### marker to place the error message in the right place.
Submitted fields are stored in the database. You can download the data as .CSV file using the new backend module for mailformplus.
You can access the name, emailaddress, ... of the logged in frontend-user which makes it possible to fill out the “name” or “email” field in your form automatically with the data of the logged in user. (###FEUSER_[field]### example: ###FEUSER_NAME###)
added italian translation of the backend-module
You do not need to set the page to “no cache” manually any more – it is done automatically as soon as you insert the mailformplus extension on a page.
Multi-language support!!!
In the plugin-element, you can define a “starting point”.
If you select a page here, the mailformplus-element of this page will be displayed instead of the mailformplus-element of the current page where the plugin element is inserted..
Attention: When upgrading from 1.0 to 2.0 you have to insert one hidden field:
<input type="hidden" name="submitted" value="1">
... so that the script knows if the form was submitted and needs to be processed, or if the form should only be shown.
you do not have to insert hidden fields anymore to your form:
<input type="hidden" name="EMAIL_TO" value="###EMAIL_TO###">
<input type="hidden" name="EMAIL_SUBJ" value="###EMAIL_SUBJ###">
<input type="hidden" name="EMAIL_SENDER" value="###EMAIL_SENDER###">
<input type="hidden" name="EMAIL_REDIRECT" value="###EMAIL_REDIRECT###">
<input type="hidden" name="EMAIL_REQUIREDFIELDS" value="###EMAIL_REQUIREDFIELDS###">
not longer needed!!!
“templating” within the HTML-form ... means, you can specify templates for: (optional)
the form itself
<!-- ###TEMPLATE_FORM### begin/end -->
a “thank you” text that is shown when you do not specify a rediret-link to a “thank you” page
<!-- <###TEMPLATE_SUBMITTED_OK### begin/end -->
special formated email-text for the receiver - optional (added in version 2.1.0)
<!-- ###TEMPLATE_EMAIL_RECEIVER### begin/end -->
see below how to access the submitted fields
If not defined, a standard emailtext is generated showing all formular field-names and the submitted values.
special formated email-text if you want the user to get a email as well when the form is submitted
<!-- ###TEMPLATE_EMAIL_USER### begin/end -->
accessing the submitted fields by ###[name of the inputfield]### or ###value_[name of the inputfield]###
The name of the formular field where the user inserts his emailaddress has to be specified in the optional mailformplus field so that the email can be sent to the user.