Login / Status
developer.Resource
Home . Documentation . Document Library . Extension Manuals
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

Chapter 1. EXT: FE extended mailform functionality

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

1.1. Introduction

First of all:

Many thanks to all the people that supported me and helped improving this extension!

What does it do?

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)

New in version 3.8.0

  • 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

New in version 3.7

  • 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

New in version 3.6

  • 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

New in version 3.5

  • 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)

New in version 3.4

  • 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)

New in version 3.3

  • 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)

New in version 3.1

  • 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.

New in version 3.0

  • Submitted fields are stored in the database. You can download the data as .CSV file using the new backend module for mailformplus.

New in version 2.4

  • 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

New in version 2.2

  • 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..

New in version 2.1

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.

        Screenshots

        Backend module: