powermail
powermail
powermail
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>powermail</strong><br />
Extension Key: <strong>powermail</strong><br />
Copyright 2005-2008,<br />
Alexander Kellner, Mischa Heißmann,<br />
<br />
This document is published under the Open Content License<br />
available from http://www.opencontent.org/opl.shtml<br />
The content of this document is related to TYPO3<br />
- a GNU/GPL CMS/Framework available from www.typo3.com<br />
Table of Contents<br />
<strong>powermail</strong>..................................................................................................................................1<br />
Powermail Introduction...............................................................................................................................................3<br />
What does it do?......................................................................................................................................................3<br />
Tested with TYPO3 version.......................................................................................................................................3<br />
Powermail suggested...............................................................................................................................................3<br />
Known conflicts with.................................................................................................................................................3<br />
Screenshots.................................................................................................................................................................4<br />
Frontend..................................................................................................................................................................4<br />
Frontend: Testform einpraegsam.net.........................................................................................................................6<br />
Frontend: Mailform wunschtacho.de.........................................................................................................................7<br />
Frontend: Just another screenshot (form with tt_content inside)................................................................................8<br />
Frontend: Contact form used by conject....................................................................................................................9<br />
Frontend: Using multiple pages via JS....................................................................................................................10<br />
Searching for new screenshots...............................................................................................................................10<br />
Backend Module.....................................................................................................................................................11<br />
How to use quickly....................................................................................................................................................13<br />
Standard: Use IRRE...............................................................................................................................................13<br />
Without IRRE (TYPO3 < 4.1 or IRRE deactivated)..................................................................................................13<br />
Small video tutorial.................................................................................................................................................13<br />
Plugin Configuration..................................................................................................................................................14<br />
Add a new content item..........................................................................................................................................14<br />
General: Enter a header.........................................................................................................................................14<br />
Formdata: Main settings.........................................................................................................................................15<br />
Fields: Create new Fieldsets (pages)......................................................................................................................16<br />
Fields: Add fields (IRRE).........................................................................................................................................17<br />
Fields: Add fields (without IRRE).............................................................................................................................19<br />
Fields: Overview.....................................................................................................................................................20<br />
Fields: Explanation.................................................................................................................................................21<br />
Sender: Sender email and subject...........................................................................................................................34<br />
Recipients: Receiver email and subject...................................................................................................................35<br />
Answerpage: Thx message.....................................................................................................................................36<br />
Access: Form access .............................................................................................................................................36<br />
<strong>powermail</strong> settings in the Extension Manager..........................................................................................................37<br />
<strong>powermail</strong> - 1
Constants for <strong>powermail</strong>...........................................................................................................................................38<br />
Setup for <strong>powermail</strong>..................................................................................................................................................41<br />
HTML template and markers example use................................................................................................................43<br />
Example for email for recipients..............................................................................................................................43<br />
Changing (or adding new) flexible locallang markers in any html template or RTE field:...........................................43<br />
Adding new flexible typoscript markers in any html template or RTE field:................................................................43<br />
Backend module........................................................................................................................................................45<br />
Introduction............................................................................................................................................................45<br />
Define your export file as you want via tsconfig.......................................................................................................46<br />
Features.....................................................................................................................................................................48<br />
Validation of field values..........................................................................................................................................48<br />
Saving db values to any db table.............................................................................................................................50<br />
Prefilling fields........................................................................................................................................................51<br />
Fighting spam.........................................................................................................................................................51<br />
Integrate captcha to your form................................................................................................................................51<br />
Add new field: Selectorbox with values from database.............................................................................................52<br />
FAQ.............................................................................................................................................................................53<br />
I need help/support with this plugin!........................................................................................................................53<br />
How can I prefill some fields?..................................................................................................................................53<br />
Error in backend “Unknown type: inline” - what to do?.............................................................................................53<br />
How can I overwrite the locallang translations / How can I add a new locallang marker............................................53<br />
How can I use validation of fields per Javascript?....................................................................................................53<br />
JavaScript check don't work - why?.........................................................................................................................53<br />
How can a style my form?.......................................................................................................................................54<br />
HTML Validation vailed...........................................................................................................................................54<br />
How can I choose my own html code instead of the automatic html generation........................................................54<br />
POWERMAIL ERROR: No title to current field found in DB (uidXX) ........................................................................54<br />
I want a select box in frontend where the user can choose the receiver of the form.................................................54<br />
I will check some fields (with php) if the value is an email or an URL........................................................................55<br />
I want to use captcha but no captcha field is shown................................................................................................55<br />
Onetime filling solve all my problems.......................................................................................................................55<br />
Countryselector dropdown without value (Empty field cn_short_en ...).....................................................................55<br />
There is a problem with content elements like text/image / dividers2tab problem.....................................................55<br />
I cannot add fields (TYPO3 4.2)..............................................................................................................................55<br />
CSS corner.................................................................................................................................................................56<br />
How to get labels and fields in two columns with css...............................................................................................56<br />
How to get two columns..........................................................................................................................................57<br />
Developers corner......................................................................................................................................................58<br />
Database relation model.........................................................................................................................................58<br />
Hooks in <strong>powermail</strong>................................................................................................................................................59<br />
Todos .........................................................................................................................................................................62<br />
Bugfixes.................................................................................................................................................................62<br />
Features.................................................................................................................................................................62<br />
Request..................................................................................................................................................................62<br />
Changelog .................................................................................................................................................................63<br />
Additional links..........................................................................................................................................................71<br />
<strong>powermail</strong> - 2
Powermail Introduction<br />
What does it do?<br />
Powermail is a powerful and – in addition – a very easy mailform extension with IRRE technics and a high flexibilty for the<br />
user. You can very easily define your form fields in the backend and get an output without html knowledge. Emails with html<br />
content or plaintext only.<br />
Powermail offers many features like automatic database storing (and additional database storing to any db table) for every<br />
page. Individual Excel and CSV export possible in own backend modul.<br />
Different HTML templates and RTE fields in backend for sender (email), receiver (email), form, fields, thx- and error<br />
message.<br />
Powermail can send mails to more fe- or be-users or to only one email address, field values can be prefilled from logged in<br />
fe_user and all datas will be stored in a session (so the user can come back later and finish form filling)<br />
A javascript validation checks values of fields, simple define in backend what to check (check for mandatory, numbers only,<br />
etc..)<br />
You can validate (with php) every field value (auto or regulare expressions).<br />
It's possible to select the mail receiver in frontend.<br />
You can use captcha, sr_freecap or wt_spamshield against spam in your forms.<br />
Powermail offers morestep forms (php or javascript if wanted) and works with date2cal and static_info_tables or offers<br />
information from geoip and many more...<br />
Powermail offers many features to extend <strong>powermail</strong> (hooks, ts objects and userfuncs, debugoutput, etc...)<br />
And we tried to offer all this in a very easy way. Editors can create complex mailforms without html knowledge.<br />
Tested with TYPO3 version<br />
● TYPO3 3.8<br />
● TYPO3 4.0<br />
● TYPO3 4.1<br />
● TYPO3 4.2<br />
Powermail suggested<br />
● static_info_tables (and _de, _fr, _da, etc...)<br />
● date2cal (tested with 7.0.6)<br />
●<br />
●<br />
●<br />
●<br />
●<br />
wt_spamshield<br />
<strong>powermail</strong>_optin<br />
<strong>powermail</strong>_mul<br />
<strong>powermail</strong>_frontend<br />
geoip<br />
Known conflicts with<br />
● dbal<br />
<strong>powermail</strong> - 3
Screenshots<br />
Frontend<br />
Frontend: Show Form<br />
Frontend: Form validation failed<br />
<strong>powermail</strong> - 4
Frontend: Confirmation<br />
Frontend: Thx message to user<br />
<strong>powermail</strong> - 5
Frontend: Testform einpraegsam.net<br />
Example: http://www.einpraegsam.net/fachgebiete/typo3-extensions/<strong>powermail</strong>.html<br />
<strong>powermail</strong> - 6
Frontend: Mailform wunschtacho.de<br />
Example: http://www.wunschtacho.de/support/kontakt.html<br />
<strong>powermail</strong> - 7
Frontend: Just another screenshot (form with tt_content inside)<br />
<strong>powermail</strong> - 8
Frontend: Contact form used by conject<br />
Example: http://www.conject.com/kontakt/kontakt.html<br />
<strong>powermail</strong> - 9
Frontend: Using multiple pages via JS<br />
Searching for new screenshots<br />
Do you have a cool homepage with <strong>powermail</strong> inside?<br />
If you want to support <strong>powermail</strong>, just send us a screenshot or write me an email: alexander.kellner@einpraegsam.net<br />
<strong>powermail</strong> - 10
Backend Module<br />
Backend: Powermail list<br />
Backend: Define some fields<br />
<strong>powermail</strong> - 11
Backend: Define your Answerpage<br />
<strong>powermail</strong> - 12
How to use quickly<br />
Standard: Use IRRE<br />
● Import from online repository<br />
●<br />
●<br />
●<br />
●<br />
Reload backend (you will see a new item in the menu “Powermail”)<br />
Enter a new page record on any normal page and choose the <strong>powermail</strong> plugin (see below for a detailed manual),<br />
there you can define your fieldsets and fields<br />
That's all!<br />
NOTE: If you want to use IRRE, ensure that your server provides long POST variables (maybe it's useful to<br />
increase POST memory size on the server)<br />
Without IRRE (TYPO3 < 4.1 or IRRE deactivated)<br />
● Import from online repository<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Reload backend (you will see a new item in the menu “Powermail”)<br />
Enter a new page record and choose the <strong>powermail</strong> plugin (without IRRE you cannot enter some fieldsets or fields)<br />
Add one or more new content elements to the page: fieldset (set relation to the <strong>powermail</strong> plugin)<br />
Add one or more new content elements to the page: field (set relation to the fieldset)<br />
That's all!<br />
Small video tutorial<br />
http://www.einpraegsam.net/fachgebiete/typo3-extensions/<strong>powermail</strong>-video.html<br />
<strong>powermail</strong> - 13
Plugin Configuration<br />
Add a new content item<br />
General: Enter a header<br />
This fields are similar to the standard text plugin<br />
(header, start and stop time, frame, language...)<br />
(see TYPO3 documentation for more information)<br />
<strong>powermail</strong> - 14
Formdata: Main settings<br />
●<br />
●<br />
●<br />
●<br />
Formtitle: Enter a title for the whole form (only used intern)<br />
Save mails in page: You can choose a page where your mails should be saved (can also set via constants)<br />
Activate confirmation page: If checked there will be a confirmation page after form-submit<br />
(like: are your values ok?)<br />
Multiple steps:<br />
●<br />
●<br />
●<br />
Single step: The whole form is shown on one page (All fieldsets will be shown)<br />
Multiple steps (JS): Each fieldset (see below) is an own page. Switch between pages via Javascript<br />
Multiple steps (PHP): Each fieldset (see below) is an own page. Swich between pages via<br />
HTML/PHP<br />
<strong>powermail</strong> - 15
Fields: Create new Fieldsets (pages)<br />
●<br />
●<br />
Create new Fieldsets: You can create more pages (fieldsets), if you want to use the moresteps function. Every step<br />
is a fieldset.. It's also usefull to show fields separated in different fieldsets on one page – so you can use more than<br />
only one fieldset.<br />
NOTE: You need to choose min. 1 fieldset for every form.<br />
Preview: This iframe previews the your frontend at once, so you can see your changes.<br />
NOTE: You can deactivate this iframe in the extension manager (maybe faster working possible)<br />
<strong>powermail</strong> - 16
Fields: Add fields (IRRE)<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Fieldset Title: Enter a title for your fieldset<br />
Fieldset Hide: You can disable the complete fieldset if you want<br />
Fieldset Starttime: Enter a starttime for the complete fieldset<br />
Fieldset Endtime: Enter a stoptime for the complete fieldset<br />
Fieldtype: Choose any fieldtype (textfield, textarea, selectbox, checkbox, radiobutton, submit, reset, text,<br />
pagecontent, html, password, file upload, hidden, datetime, date, time, button, graphicsubmit, countryselect) /<br />
NOTE: See a detailed description below<br />
Create new Fields: You have to enter your fields (like name and email)<br />
<strong>powermail</strong> - 17
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Field Title: Enter a title for your field (title is listed as form label)<br />
Field Hide: You can disable the current field<br />
Field Starttime: Enter a starttime for this field<br />
Field Stoptime: Enter a stoptime for this field<br />
Settings (Text field) Size: If you want to enter a size. Alternative you can set the width and height via CSS<br />
Settings (Text field) Max. Length: Set max. length for textfiels<br />
Settings (Text field) Read only: Field is set to read only<br />
Settings (Text field) Mandatory field: Field is obsolete<br />
Settings (Text field) Default value: Choose a value to prefill the textfield<br />
Settings (Text field) Validate this field for: You can activate a js validation (see below)<br />
Settings (Text field) Name for Templates: If you want to use this value in any template, use this code<br />
Settings (Text field) Field example: There is an example picture of the current field<br />
Fill out this field with fe_user field: Prefill field (if fe_user is logged in) with any data from fe_user / You can set the<br />
allowed fe_user fields via Ext Manager<br />
NOTE: Different fields have different setting possibilities (see below for details)<br />
<strong>powermail</strong> - 18
Fields: Add fields (without IRRE)<br />
If IRRE is disabled (TYPO3 < 4.1) or manually, you have to add the relation manually:<br />
● Add a new content element (<strong>powermail</strong>) if not yet done<br />
● Use “create new record” to add a fieldset manually (enter the relation to the <strong>powermail</strong> content on the same page)<br />
● Use “create new record” to add a field manually (enter the relation to the <strong>powermail</strong> fieldset on the same page)<br />
NOTE: Different fields have different setting possibilities (see below for details)<br />
<strong>powermail</strong> - 19
Fields: Overview<br />
Title: Explanation: Example Output: Category:<br />
Textfield Simple text fields (one line) STANDARD<br />
Textarea Text fields with more lines text STANDARD<br />
Select box Selector box (dropdown) 1 STANDARD<br />
Checkbox Checkbox STANDARD<br />
Radio Button Radio buttons STANDARD<br />
Submit Button Submit button STANDARD<br />
Captcha Request<br />
Captcha picture with input field to validate a human entry<br />
(captcha or sr_freecap needed)<br />
<br />
EXTRA<br />
Reset Button Reset buttons EXTRA<br />
Show some text Enter a text and show it in the frontend Text blabla EXTRA<br />
TYPO3 page<br />
content<br />
Enter your own<br />
html code<br />
Show any TYPO3 page content blabla EXTRA<br />
Enter your html code bla EXTRA<br />
Password field Password field EXTRA<br />
File upload Standard upload field for files EXTRA<br />
Hidden field Hidden value EXTRA<br />
Date and time field Text field with a javascript calendar ... EXTRA<br />
Date field Text field with a javascript calendar ... EXTRA<br />
Button<br />
Simple a button without a function (maybe usefull for a<br />
javascript)<br />
<br />
EXTRA<br />
Graphic as submit Submit Image EXTRA<br />
Country selection Selector box with countries (static_info_tables needed) Germany... EXTRA<br />
Add typoscript<br />
object<br />
Output any value from your typoscript Any value from typoscript EXTRA<br />
Multiple upload<br />
Multiple upload fields are part of the extension<br />
<strong>powermail</strong>_mul (enables upload of more files)<br />
...<br />
EXTENSIO<br />
NS<br />
<strong>powermail</strong> - 20
Fields: Explanation<br />
Fields: Add textfield<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Size: Set field size (size=””) (we suggest you to use CSS for field width)<br />
Max. Lengh: Set maximum length of signs in this field (maxlength=””)<br />
Read only: Check to be a read only field (readonly=”readonly”)<br />
Mandatory field: This field is a needed field – no db and no email without this field (check with JavaScript and PHP)<br />
Default value: Prefill field with a value (value=””)<br />
Validate this field for: This is a javascript validation<br />
– check for email addresses (like test@test.com)<br />
– check for URL (like http://www.test.de)<br />
– check for digits only (like 3.6)<br />
– check for digits without comma and point (like 3)<br />
– check for letters only (a-z)<br />
– check for letters and digits only (a-z and 0-9)<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
<strong>powermail</strong> - 21
Fields: Add textarea<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Number of columns: Set columns (cols=””)<br />
Number of rows: Set rows (rows=””)<br />
Read only: Set field to a read only field (readonly=”readonly”)<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Default value: Prefill field with a value (My value)<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
<strong>powermail</strong> - 22
Fields: Add selectbox<br />
● Enter your options: Every line is a new option for the selececterbox like red, green and blue /<br />
- If you want different label and values, you can write: label | value /<br />
- If you're going to use the same label and value, you can write: value<br />
●<br />
●<br />
●<br />
●<br />
Size: Set field size (size=””)<br />
Multiple seletc allowed: Allow more than one value to select (multiple=”multiple”)<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Option examples for selectorbox<br />
Line Example for options Explanation of left example (html code in frontend)<br />
1 Red red<br />
2 Red | 1 Red<br />
3 Blue | Blue<br />
4 Black | black | * Black<br />
5 White | | * White<br />
<strong>powermail</strong> - 23
Fields: Add checkbox<br />
● Enter your options: Every line is a new option for the selececterbox like red, green and blue /<br />
- If you want different label and values, you can write: label | value /<br />
- If you're going to use the same label and value, you can write: value<br />
●<br />
●<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Option examples for checkboxes<br />
Line Example for options Explanation of left example (html code in frontend)<br />
1 Red Red<br />
2 Red | 1 Red<br />
3 Blue | Blue<br />
4 Black | black | * Black<br />
5 White | | * White<br />
<strong>powermail</strong> - 24
Fields: Add radiobutton<br />
● Enter your options: Every line is a new option for the selececterbox like red, green and blue /<br />
- If you want different label and values, you can write: label | value /<br />
- If you're going to use the same label and value, you can write: value<br />
●<br />
●<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Option examples for radiobuttons<br />
Line Example for options Explanation of left example (html code in frontend)<br />
1 Red Red<br />
2 Red | 1 Red<br />
3 Blue | Blue<br />
4 Black | black | * Black<br />
5 White | | * White<br />
<strong>powermail</strong> - 25
Fields: Captcha request<br />
●<br />
●<br />
●<br />
●<br />
Description: Write your own description in front of the captcha field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
NOTE: First of all you have to install sr_freecap or captcha and choose (via constants) which one should be used<br />
(Standard: sr_freecap)<br />
Fields: Add submitbutton<br />
●<br />
●<br />
Field example: You will see a picture example of the chosen field<br />
NOTE: To enter the label (value) of the button, use the label of the field<br />
<strong>powermail</strong> - 26
Fields: Add resetbutton<br />
●<br />
●<br />
●<br />
Refresh page and clear whole session: Use this checkbox if a user clicks the button, the page will be refreshed<br />
without session values<br />
Field example: You will see a picture example of the chosen field<br />
NOTE: To enter the label (value) of the button, use the label of the field<br />
Fields: Add text<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Default value: Enter your Text here (you can define which html signs are allowed via ts constants)<br />
Send this content via email: If you want to send this content via email, check this<br />
Field example: You will see a picture example of the chosen field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
NOTE: Send this content via email is not yet finished programed at this time!<br />
<strong>powermail</strong> - 27
Fields: TYPO3 pagecontent<br />
●<br />
●<br />
●<br />
Default value: Choose any tt_content uid to show in frontend<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
Fields: HTML code<br />
●<br />
●<br />
●<br />
●<br />
Default value: Enter your HTML code here<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
NOTE2: Maybe removeXSS disables all features – you can disable this function via constants<br />
<strong>powermail</strong> - 28
Fields: Add a password field<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Size: Set field size (size=””) (we suggest you to use CSS for field width)<br />
Max. Lengh: Set maximum length of signs in this field (maxlength=””)<br />
Read only: Set field to a read only field (readonly=”readonly”)<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Field example: You will see a picture example of the chosen field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
NOTE: Password fields are described in selfhtml.org<br />
Fields: Upload field<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Size: Set field size (size=””) (we suggest you to use CSS for field width)<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
NOTE: You can set the upload folder via constants (see below) – only the filename will be written<br />
Fields: Hidden field<br />
●<br />
●<br />
●<br />
Default value: Set your value for this field (value=””)<br />
Name for Templates: If you want to use this value in any template, use this code<br />
NOTE: Hidden fields are useful, if you want to send a time or the user ip or anything to the receiver. You can add<br />
some hidden fields and fill them via ts (how to fill fields via ts is descripted below in this manual)<br />
<strong>powermail</strong> - 29
Fields: Date and Datetime field<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
NOTE: This fields are only supported if you have installed the extension date2cal!<br />
Default value: Set a default value (you can use the date2cal icon for better writing in backend and frontend<br />
Size: Set field size (size=””) (we suggest you to use CSS for field width)<br />
Read only: Set field to a read only field (readonly=”readonly”)<br />
Mandatory field: This field is a needed field – no db and no email without this field<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
Fields: Button field<br />
●<br />
●<br />
●<br />
●<br />
Default value: Set a default value<br />
Note: Button fields are without any function (if you don't use Javascript with this)<br />
Field example: You will see a picture example of the chosen field<br />
Note: JS implementation is not finished programed at this time<br />
<strong>powermail</strong> - 30
Fields: Graphic submit field<br />
●<br />
●<br />
●<br />
●<br />
Grafic source: Enter a source for the graphic submit button (like fileadmin/test.jpg)<br />
Alternative Text for image: use the alt tag (alt=””)<br />
Field example: You will see a picture example of the chosen field<br />
NOTE: Imagebuttons are described in selfhtml.org<br />
<strong>powermail</strong> - 31
Fields: Countryselect field<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Country shortage for preselect: Select one country to be preselected in frontend<br />
Only show this countries: If you chose some countries – ONLY this countries will be shown<br />
Show list without this countries: Show whole list without this selected countries<br />
(Don't works with “Only show this countries”)<br />
Name for Templates: If you want to use this value in any template, use this code<br />
Field example: You will see a picture example of the chosen field<br />
NOTE1: This fields are only supported if you have installed the extension static_info_tables!<br />
● NOTE2: If you want a localized version, you can use (e.g.) static_info_tables_de (or fr etc...) -<br />
(TS example: config.language = de for staticinfo_tables_de)<br />
●<br />
NOTE3: You can use utf8_encode or utf8_decode via constants<br />
<strong>powermail</strong> - 32
Fields: Typoscript field<br />
●<br />
●<br />
●<br />
Typoscript object: enter an typoscript element for your output (define this element via typoscript setup)<br />
Field example: Example for a typoscript setup<br />
NOTE: You can use every object from typoscript for this kind of fields<br />
(maybe it's interesting to add a userfunc for some special fields, etc...)<br />
<strong>powermail</strong> - 33
Sender: Sender email and subject<br />
●<br />
Senders email address: Choose any of your fields to mark as sender email (This is needed to send an email to the<br />
sender, This field will be checked if the value is really an email address)<br />
● Subject for sender's mail: Choose any email subject /<br />
NOTE: You can use markers in email subject to get a subject like “Thank you Alex for your mail”<br />
●<br />
●<br />
Email-Text for sender: You can use this RTE to write the mail content for the sender<br />
NOTE: This RTE is substituted with tmpl_emails.html / You can use all markers in the RTE and the HTML template!<br />
<strong>powermail</strong> - 34
Recipients: Receiver email and subject<br />
● Subject for recipient's mail: Choose an email subject for the receiver /<br />
NOTE: You can use markers in email subject to get a subject like “New mail from Alex”<br />
● Recipient: Enter some email receivers (separated with comma, semicolon or with a new line) /<br />
- If you want to enter a sender name, just write: name \n email1 \n email2 \n email3 ... /<br />
- You can also use markers in this field instead of an email: test@test.de, ###UID3###<br />
●<br />
●<br />
Table of recipients: Choose any database table, if you want to send to one or more (e.g. Backend or Frontend)<br />
users<br />
Recipients from upper table: If you have chosen any db table, select some email addresses<br />
● Alternative SQL-Query: You can enter an own SQL query to get your own email addresses /<br />
- Example: SELECT email FROM fe_users WHERE pid = 12 /<br />
- You can also use markers in the query like SELECT email FROM fe_users WHERE uid = ###UID5### /<br />
- Not allowed strings: UPDATE, TRUNCATE, DELETE, INSERT, REPLACE, DO, HANDLER, LOAD, ALTER,<br />
CREATE, DROP, RENAME, DESCRIBE, USE, BEGIN, COMMIT, ROLLBACK, LOCK, SET, REVOKE, GRANT<br />
●<br />
●<br />
Email-Text for receiver: You can use this RTE to write the mail content for the receiver<br />
NOTE: This RTE is substituted with tmpl_emails.html / You can use all markers in the RTE and the HTML template!<br />
<strong>powermail</strong> - 35
●<br />
NOTE2: Priority of recipient fields: Recipient, Table choose, SQL query<br />
<strong>powermail</strong> - 36
Answerpage: Thx message<br />
●<br />
●<br />
●<br />
Response Text: This text is shown after submit<br />
Auto-redirect after confirmation-page: You can forward the user after submit to any intern or extern URL or file<br />
(instead of using the message)<br />
NOTE: This RTE is substituted with tmpl_thx.html / You can use all markers in the RTE and the HTML template!<br />
Access: Form access<br />
●<br />
Similar to text: Choose your access an general options (see TYPO3 documentation for more information)<br />
<strong>powermail</strong> - 37
<strong>powermail</strong> settings in the Extension Manager<br />
useIRRE<br />
Property: Description: Default Data type:<br />
usePreview<br />
TabDividers<br />
feusersPrefill<br />
disableIPlog<br />
disablePMRealU<br />
rlConfig<br />
Inline Relational Record Editing (IRRE) to enter your fieldsets and fields just by<br />
opening only one content. If you want to use the listview and manually enter the<br />
relation between tt_content and fieldsets and fields you can disable IRRE (IRRE<br />
is only activated if you're using TYPO3 > 4.1)<br />
Preview window active: Activate frontend preview window under field definitions<br />
(iframe with frontend view of current page). Deactivate for a faster work with<br />
<strong>powermail</strong>.<br />
Activate tab dividers: Powermail uses tab dividers in backend so every category<br />
seems to be a new site (like General, Formdata, Fields, Sender, Recipients,<br />
Answerpage and Access). You can disable tabdividers if you want to show all<br />
stuff on only one page or if there are problems with tab dividers and other<br />
extensions.<br />
A dropdown is shown in the backend which enables to prefill any field with the<br />
value of a current logged in feuser. You can increase or decrease the fe_user<br />
field values in the dropdown menu. Just use the wanted fieldnames of the<br />
fe_user table in a comma-separated list.<br />
Deactivate IP logging: If you don't want to save the sender IP address in the<br />
database, you can use this checkbox.<br />
Deactivate config for Realurl: Powermail uses an automatic realurlconf array for<br />
type=3131. You can disable this feature if you want to use your own<br />
configuration or you don't need a realurl configuration. (see ext_localconf.php<br />
for configuration details)<br />
1 boolean<br />
1 boolean<br />
1 boolean<br />
name, address,<br />
telephone, fax, email, zip,<br />
city, country, www,<br />
company<br />
text<br />
0 boolean<br />
0 boolean<br />
<strong>powermail</strong> - 38
Constants for <strong>powermail</strong><br />
You can change your constants with the constant editor<br />
Property: Description: Default Data type:<br />
template.formWrap<br />
template.fieldWrap<br />
template.thxMessage<br />
template.emails<br />
template.confirmation<br />
template.all<br />
template.mandatory<br />
template.MultipleJS<br />
allow.email2receiver<br />
allow.email2sender<br />
allow.dblog<br />
PID.dblog<br />
Template File formwrap: HTML-template file for<br />
formwrap<br />
Template File fieldwrap: HTML-template file for<br />
fieldwraps<br />
Template File thx-message: HTML-template file for thx<br />
message after submit<br />
Template File emails: HTML-template file for emails<br />
messages (sender and receiver)<br />
Template File confirmation: HTML-template file to<br />
change html code of the confirmation page<br />
Template File ALL marker: HTML-template file if you<br />
want to use the marker ###POWERMAIL_ALL### -<br />
here you can set the HTML code for each line<br />
Template File mandatory: HTML-template file for<br />
mandatory page (if any mandatory field was not filled)<br />
Template File multiple: HTML-template file for multiple<br />
pages (see<br />
EXT:<strong>powermail</strong>/templates/tmpl_multiplejs.html for an<br />
example)<br />
Email to receiver active: You can disable emails to<br />
receiver<br />
Email to sender active: You can disable confirmation<br />
emails to sender<br />
Log every mail in db: Disable logging, if you want only to<br />
get mails<br />
PID where to save logfiles: Enter a Page ID where the<br />
form values should be saved to the db (empty: same<br />
PID as form PID)<br />
EXT:<strong>powermail</strong>/templates/tmpl_for<br />
mwrap.html<br />
EXT:<strong>powermail</strong>/templates/tmpl_fiel<br />
dwrap.html<br />
EXT:<strong>powermail</strong>/templates/tmpl_thx.<br />
html<br />
EXT:<strong>powermail</strong>/templates/tmpl_em<br />
ails.html<br />
EXT:<strong>powermail</strong>/templates/tmpl_con<br />
firmation.html<br />
EXT:<strong>powermail</strong>/templates/tmpl_all.<br />
html<br />
EXT:<strong>powermail</strong>/templates/tmpl_ma<br />
ndatory.html<br />
EXT:<strong>powermail</strong>/templates/tmpl_mul<br />
tiplejs.html<br />
file<br />
file<br />
file<br />
file<br />
file<br />
file<br />
file<br />
file<br />
1 boolean<br />
1 boolean<br />
1 boolean<br />
boolean<br />
enable.html<br />
enable.unique<br />
email.noreply<br />
email.checkMX<br />
email.overwritesender<br />
markerALL.hideLabel<br />
markerALL.notIn<br />
form.method<br />
format.datetime<br />
format.date<br />
HTML or Plain format: If you use this value, emails will<br />
be send in html format - disable for plain text (0 or 1)<br />
Onetime filling: Checks if a field has already this entry<br />
(maybe email address), IP check is also possible if ip<br />
addresses will be logged) - (e.G. uid11,ip checks for<br />
unique IP and unique entry in field uid11)<br />
Standard sender address: This email address is<br />
important, if no sender field was chosen in the backend,<br />
so this email address will be used for the sender<br />
(###DOMAIN### will be replaced with current domain<br />
like test.com)<br />
Check MX record of sender mail: This is a small test, if<br />
senders email address exists (MX record check of<br />
domain)<br />
E-Mail sender address: If you add an email address in<br />
this field, this email address will be used for the user<br />
mail as senderemail and returning email address.<br />
Normally the main receiver address is used as sender<br />
for the returning mail, but you can overwrite this if you<br />
want (e.G. mail@mail.com) Note - if you don't use a<br />
correct mail address, this field will be ignored!<br />
Hide label if empty value: This option hides labels if its<br />
value is empty in marker ###POWERMAIL_ALL###<br />
Exclude fields from marker ALL: Exclude some fields<br />
from marker ###POWERMAIL_ALL### (e.g.:<br />
###UID14###,###UID22### or UID14,UID22)<br />
Form method: use post or get as post format (details<br />
see on selfhtml.org)<br />
Frontend datetime format if datetime field is in use (only<br />
needed if you use the extension date2cal)<br />
Frontend date format if date field is in use (only needed<br />
if you use the extension date2cal)<br />
1<br />
boolean<br />
noreply@###DOMAIN### text<br />
1 boolean<br />
text<br />
0 boolean<br />
text<br />
post<br />
text<br />
%H:%M %d-%m-%Y<br />
text<br />
%d-%m-%Y<br />
text<br />
<strong>powermail</strong> - 39
Property: Description: Default Data type:<br />
label.allowTags Allowed tags in labels: Allow some tags for label fields text<br />
html.removeXSS<br />
countryselect.charset<br />
mandatory.symbol<br />
mandatory.wrap<br />
captcha.use<br />
pagebrowser.wrap<br />
upload.folder<br />
upload.file_extensions<br />
upload.filesize<br />
upload.atachment<br />
clear.session<br />
js.mandatorycheck<br />
js.mandatordivclass<br />
js.onfocus<br />
js.Prototype<br />
js.HTMLentities<br />
field.checkboxJS<br />
rte.parse<br />
<strong>powermail</strong>.charset<br />
RemoveXSS for html fields: (de)activate security<br />
function to disable Cross Site Scripting with the html field<br />
(removeXSS on or off)<br />
Charset for countryselector: You can use the php<br />
functions utf8_encode or utf8_decode to change the<br />
countryselector output<br />
Add symbol for mandatory fields: If any field is a<br />
mandatory field, add this at the end of the label<br />
Wrap mandatory symbol: You can wrap the mandatory<br />
symbol with any html code<br />
Use captcha extension: If you have installed sr_freecap<br />
and captcha, you can select which extension should be<br />
used<br />
Wrap pagebrowser: If you use multiple pages (PHP),<br />
you can show the current page like 1 of 3<br />
Folder for uploaded files: If you are using min. one<br />
upload field in frontend, you can change the folder where<br />
the uploaded file is safed<br />
Allow files for upload: If you are using min. one upload<br />
field in frontend, you can set the allowed extension of<br />
this files<br />
Allow filesize for upload: If you are using min. one<br />
upload field in frontend, you can set the allowed filesize<br />
of the files (in kB)<br />
Upload and attach: If checked, all files will be sent as an<br />
attachment to the receiver (if disabled, files will only<br />
stored on server)<br />
Clear Session: Check if session should be cleared after<br />
submit (emails sent)<br />
Check for mandatory fields: (De)activate JavaScript<br />
check for mandatory fields (and other fields like email,<br />
url, etc..)<br />
Mandatory JS DIV class: Enter your own css class for<br />
the mandatory javascript div layer (div layer which is<br />
shown, if a field was not filled, etc...)<br />
OnFocus JavaScript: (De)activate onfocus javascript in<br />
fields - removes standard value of (e.g. text-) fields<br />
onclick, so the user can click and begin to write<br />
Load prototype.js: (De)activate loading prototype.js in<br />
html head of page where <strong>powermail</strong> is in (prototype.js is<br />
needed for JS validation of fields and for date2cal fields<br />
like date, datetime and time)<br />
HTMLentities for JS: (De)activate the php function<br />
htmlentities for the dynamic javascript in the html<br />
header. Example with htmlentities: index.php?id=1&<br />
amp;type=3131 / Example without htmlentities:<br />
index.php?id=1&type=3131<br />
Hiddenfields for checkboxes: (De)activate the<br />
hiddenfields for checkboxes. If only checkboxes are in<br />
use, there is a problem to enable a checkbox, submit, go<br />
back and deaktivate checkbox and submit again - the<br />
value ist still set. To fix this, you can use a JavaScript<br />
with hiddenfields (set by default).<br />
Use rteCSStext function: Text from rich text editor will be<br />
parsed automaticly for emails and thx message (every<br />
line gets an p tag, etc...). Disabling could be useful if you<br />
want to use only plaintext mails.<br />
Charset for <strong>powermail</strong>: You can use the php functions<br />
utf8_encode or utf8_decode to change the whole<br />
<strong>powermail</strong> output<br />
1 boolean<br />
* text<br />
|<br />
<br />
sr_freecap<br />
|<br />
<br />
uploads/tx_<strong>powermail</strong>/files/<br />
jpg,gif,png,tif,txt,doc,xls,sxw,html,s<br />
wf<br />
options[,utf8_e<br />
ncode,utf8_dec<br />
ode]<br />
text<br />
option<br />
wrap<br />
text<br />
text<br />
1000 int<br />
1 boolean<br />
0 boolean<br />
1 boolean<br />
<strong>powermail</strong>_mandatory_js<br />
text<br />
1 boolean<br />
1 boolean<br />
1 boolean<br />
1 boolean<br />
1 boolean<br />
options[,utf8_e<br />
ncode,utf8_dec<br />
ode]<br />
<strong>powermail</strong> - 40
Property: Description: Default Data type:<br />
barrier-free.tabindex<br />
barrier-free.accesskey<br />
geoip.file<br />
geoip.addValuesToMarke<br />
rALL<br />
debug.output<br />
Manual sorting of tabindex: Powermail adds tabindex to<br />
the fields (automaticly via sorting). If you want to use<br />
another order, you can change the order with this<br />
settings (e.g. uid5,uid4,uid3_0,uid3_1 or<br />
5,4,6,4_0,4_1,3)<br />
Adding accesskeys: You can add some accesskeys to<br />
the fields if you want<br />
(e.g. uid1:f,uid3:g or 1:a,2:b,3_1:c)<br />
Add geoip file: If you want to use geoip, you can enter<br />
the relative path to the .dat file for geo info (e.g.<br />
fileadmin/geoinfo.dat)<br />
Note: Prefix for all <strong>powermail</strong> constants: plugin.<strong>powermail</strong>.<br />
Add geo info to marker ALL: The most people don't want<br />
to use single markers, they just use<br />
###POWERMAIL_ALL###, if you want to add some<br />
geoinfo, you can add those to the all marker (e.g.<br />
countryName, city) (available keys - ip, countryCode,<br />
countryName, region, city, zip, lng, lat, dmaCode,<br />
areaCode)<br />
Activate debug output: Possibility to print a debug output<br />
over the html. All displays session and email array,<br />
Session prints only session array, Email prints only<br />
email array (empty or all or session or email)<br />
text<br />
text<br />
text<br />
text<br />
options[,all,ses<br />
sion,email,db]<br />
<strong>powermail</strong> - 41
Setup for <strong>powermail</strong><br />
Note: The most settings are possible with constants editor<br />
# POWERMAIL PLUGIN #<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
# get constants<br />
template.fieldWrap = {$plugin.<strong>powermail</strong>.template.fieldWrap}<br />
template.formWrap = {$plugin.<strong>powermail</strong>.template.formWrap}<br />
template.thxMessage = {$plugin.<strong>powermail</strong>.template.thxMessage}<br />
template.emails = {$plugin.<strong>powermail</strong>.template.emails}<br />
template.confirmation = {$plugin.<strong>powermail</strong>.template.confirmation}<br />
template.all = {$plugin.<strong>powermail</strong>.template.all}<br />
template.mandatory = {$plugin.<strong>powermail</strong>.template.mandatory}<br />
template.MultipleJS = {$plugin.<strong>powermail</strong>.template.MultipleJS}<br />
allow.email2receiver = {$plugin.<strong>powermail</strong>.allow.email2receiver}<br />
allow.email2sender = {$plugin.<strong>powermail</strong>.allow.email2sender}<br />
allow.dblog = {$plugin.<strong>powermail</strong>.allow.dblog}<br />
emailformat.recipient_mail = {$plugin.<strong>powermail</strong>.emailformat.recipient_mail}<br />
emailformat.sender_mail = {$plugin.<strong>powermail</strong>.emailformat.sender_mail}<br />
enable.unique = {$plugin.<strong>powermail</strong>.enable.unique}<br />
email.noreply = {$plugin.<strong>powermail</strong>.email.noreply}<br />
email.checkMX = {$plugin.<strong>powermail</strong>.email.checkMX}<br />
email.overwritesender = {$plugin.<strong>powermail</strong>.email.overwritesender}<br />
markerALL.hideLabel = {$plugin.<strong>powermail</strong>.markerALL.hideLabel}<br />
markerALL.notIn = {$plugin.<strong>powermail</strong>.markerALL.notIn}<br />
PID.dblog = {$plugin.<strong>powermail</strong>.PID.dblog}<br />
form.method = {$plugin.<strong>powermail</strong>.form.method}<br />
format.datetime = {$plugin.<strong>powermail</strong>.format.datetime}<br />
format.date = {$plugin.<strong>powermail</strong>.format.date}<br />
label.allowTags = {$plugin.<strong>powermail</strong>.label.allowTags}<br />
html.removeXSS = {$plugin.<strong>powermail</strong>.html.removeXSS}<br />
countryselect.charset = {$plugin.<strong>powermail</strong>.countryselect.charset}<br />
mandatory.symbol = {$plugin.<strong>powermail</strong>.mandatory.symbol}<br />
mandatory.wrap = {$plugin.<strong>powermail</strong>.mandatory.wrap}<br />
captcha.use = {$plugin.<strong>powermail</strong>.captcha.use}<br />
pagebrowser.wrap = {$plugin.<strong>powermail</strong>.pagebrowser.wrap}<br />
upload.folder = {$plugin.<strong>powermail</strong>.upload.folder}<br />
upload.file_extensions = {$plugin.<strong>powermail</strong>.upload.file_extensions}<br />
upload.filesize = {$plugin.<strong>powermail</strong>.upload.filesize}<br />
upload.attachment = {$plugin.<strong>powermail</strong>.upload.attachment}<br />
clear.session = {$plugin.<strong>powermail</strong>.clear.session}<br />
js.mandatorycheck = {$plugin.<strong>powermail</strong>.js.mandatorycheck}<br />
js.mandatorydivclass = {$plugin.<strong>powermail</strong>.js.mandatorydivclass}<br />
js.onfocus = {$plugin.<strong>powermail</strong>.js.onfocus}<br />
js.Prototype = {$plugin.<strong>powermail</strong>.js.Prototype}<br />
js.HTMLentities = {$plugin.<strong>powermail</strong>.js.HTMLentities}<br />
field.checkboxJS = {$plugin.<strong>powermail</strong>.field.checkboxJS}<br />
rte.parse = {$plugin.<strong>powermail</strong>.rte.parse}<br />
<strong>powermail</strong>.charset = {$plugin.<strong>powermail</strong>.<strong>powermail</strong>.charset}<br />
barrier-free.tabindex = {$plugin.<strong>powermail</strong>.barrier-free.tabindex}<br />
barrier-free.accesskey = {$plugin.<strong>powermail</strong>.barrier-free.accesskey}<br />
geoip.file = {$plugin.<strong>powermail</strong>.geoip.file}<br />
geoip.addValuesToMarkerALL = {$plugin.<strong>powermail</strong>.geoip.addValuesToMarkerALL}<br />
debug.output = {$plugin.<strong>powermail</strong>.debug.output}<br />
# adding (or changing) flexible locallang markers in any HTML template or RTE field (example)<br />
_LOCAL_LANG.en {<br />
locallangmarker_yourvalue = this is a new text<br />
}<br />
# adding flexible typoscript markers in any HTML template or RTE field (example)<br />
dynamicTyposcript {<br />
yourmarker = TEXT<br />
yourmarker.value = This is a new text<br />
}<br />
# prefilling form fields (example)<br />
prefill {<br />
# fill field uid997 with a static text<br />
uid997 = TEXT<br />
uid997.value = example value<br />
# fill field uid998 with current timestamp<br />
uid998 = TEXT<br />
uid998.data = date:U<br />
<strong>powermail</strong> - 42
# fill field uid998 with current date like "Date: 20.01.2009"<br />
uid996 = TEXT<br />
uid996.data = date:U<br />
uid996.strftime = Date: %d.%m.%Y<br />
}<br />
# fill field uid995 with IP address of the user<br />
uid995 = TEXT<br />
uid995.data = getIndpEnv:REMOTE_ADDR<br />
checkbox value)<br />
}<br />
# extern db entry (example for tt_adress)<br />
dbEntry {<br />
# enable or disable db entry for tt_address<br />
tt_address._enable = TEXT<br />
tt_address._enable.value = 1<br />
}<br />
# add mm relation to uid 2 of tt_address_group (via mm table)<br />
tt_address._mm = COA<br />
tt_address._mm.10 = COA<br />
# 1 is always the mm table<br />
tt_address._mm.10.1 = TEXT<br />
tt_address._mm.10.1.value = tt_address_group_mm<br />
# 2 is always the other table<br />
tt_address._mm.10.2 = TEXT<br />
tt_address._mm.10.2.value = tt_address_group<br />
# 3 is always the uid of the other table to get a relation to this (in this case uid2 of tt_address_group)<br />
tt_address._mm.10.3 = TEXT<br />
tt_address._mm.10.3.value = 2<br />
# table "tt_address" with field "email" is a static value => alexander.kellner@einpraegsam.net<br />
tt_address.email = TEXT<br />
tt_address.email.value = alexander.kellner@einpraegsam.net<br />
# table "tt_address" with field "pid" is the current pid (e.g. 12)<br />
tt_address.pid = TEXT<br />
tt_address.pid.field = uid<br />
# table "tt_address" with field "tstamp" is the current time as timestamp (like 123456789)<br />
tt_address.tstamp = TEXT<br />
tt_address.tstamp.data = date:U<br />
# table "tt_address" with field "address" is the current formatted time (like "Date: 20.01.2009")<br />
tt_address.address = TEXT<br />
tt_address.address.data = date:U<br />
tt_address.address.strftime = Date: %d.%m.%Y<br />
# table "tt_address" with field "name" is the value from <strong>powermail</strong> (tt_content uid 88) field uid18 (###uid18###)<br />
tt_address.name = TEXT<br />
tt_address.name.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid18<br />
# table "tt_address" with field "last_name" is the value from <strong>powermail</strong> (tt_content uid 88) field uid18 (###uid18###)<br />
tt_address.last_name = TEXT<br />
tt_address.last_name.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid18<br />
# table "tt_address" with field "company" is the value from <strong>powermail</strong> (tt_content uid 88) field uid21_1 (###uid21_1###) (e.g. a<br />
tt_address.company = TEXT<br />
tt_address.company.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid21|1<br />
# TypeNum 3131 offers a dynamic javascript for <strong>powermail</strong> which allows to validate different fields<br />
<strong>powermail</strong>JS = PAGE<br />
<strong>powermail</strong>JS {<br />
typeNum = 3131<br />
10 < plugin.tx_<strong>powermail</strong>_pi1<br />
}<br />
config {<br />
disableAllHeaderCode = 1<br />
xhtml_cleaning = 0<br />
admPanel = 0<br />
}<br />
<strong>powermail</strong> - 43
HTML template and markers example use<br />
Example for email for recipients<br />
<br />
<br />
###POWERMAIL_LOCALLANG_EMAIL_RECEIVER###<br />
###POWERMAIL_EMAILRECIPIENT_RTE###<br />
###UID12###<br />
###POWERMAIL_ALL###<br />
<br />
<br />
###POWERMAIL_LOCALL<br />
ANG_EMAIL_RECEIVER#<br />
##<br />
###POWERMAIL_EMAILR<br />
ECIPIENT_RTE###<br />
###UID12###<br />
###UID12_0###<br />
Plugin search for a value from pi1/locallang.xml with the name<br />
locallangmarker_email_receiver (you can overwrite the xml file or set your own text via<br />
TS setup – see below)<br />
This is a special marker for use in the email template. This marker will be filled with the<br />
backend RTE for receivers (NOTE: You can also use marker in the RTE fields)<br />
Onchange JavaScript: (De)activate onchange javascript for select fields - adds an<br />
onchange javascript to all select fields - automatic submit onchange<br />
If you use values in sencond level (like checkboxes with tx_<strong>powermail</strong>_pi1[uid3][0])<br />
than you can use this marker. NOTE: If you want to display all values of the checkbox,<br />
simply use ###UID12###<br />
That where your values:<br />
New mail<br />
George Smith<br />
Values: red, blue, green<br />
###POWERMAIL_ALL### This marker shows all values of all fields. Helpful if you have a long form. Name: George<br />
Prename: Smith<br />
Years: 34<br />
Country: USA<br />
###POWERMAIL_BASEUR<br />
L###<br />
This marker simply enters the base url like http://www.test.de (Helpful if you want to<br />
load graphics in the email from your website)<br />
http://www.test.de<br />
Changing (or adding new) flexible locallang markers in any html template or RTE field:<br />
HTML example<br />
###POWERMAIL_LOCALLANG_CONFIRMATION_BACK###<br />
###POWERMAIL_LOCALLANG_NEWLANGUAGEMARKER###<br />
Typoscript example<br />
You can use this both locallang files for example in the html templates by using ###POWERMAIL_LOCALLANG_VALUE###<br />
plugin.tx_<strong>powermail</strong>_pi1._LOCAL_LANG.en {<br />
locallangmarker_confirmation_back = Go back<br />
locallangmarker_newlanguagemarker = This is a new marker text<br />
JSvalidation_label_required = Please fill this mandatory field!<br />
}<br />
plugin.tx_<strong>powermail</strong>_pi1._LOCAL_LANG.de {<br />
locallangmarker_confirmation_back = Zum Formular<br />
locallangmarker_newlanguagemarker = Das ist ein neuer Marker Text<br />
JSvalidation_label_required = Dieses Feld ist ein Pflichtfeld!<br />
}<br />
# Only needed if JS language marker should be changed (Jsvalidation_label_...)<br />
<strong>powermail</strong>JS.10 < plugin.tx_<strong>powermail</strong>_pi1<br />
Adding new flexible typoscript markers in any html template or RTE field:<br />
HTML example<br />
###POWERMAIL_TYPOSCRIPT_YOURFIELD1###<br />
###POWERMAIL_TYPOSCRIPT_YOURFIELD2###<br />
###POWERMAIL_TYPOSCRIPT_YOURFIELD3###<br />
Typoscript example<br />
Add some new markers with all typoscript features (TEXT, IMAGE, COA, USER, etc...) you already know<br />
plugin.tx_<strong>powermail</strong>_pi1.dynamicTyposcript {<br />
yourfield1 = TEXT<br />
yourfield1.value = this is a text<br />
<strong>powermail</strong> - 44
yourfield2 = TEXT<br />
yourfield2.field = uid<br />
}<br />
yourfield3 = USER<br />
yourfield3.userFunc = user_various->listContentRecordsOnPage<br />
<strong>powermail</strong> - 45
Backend module<br />
Introduction<br />
Powermail offers a backend module to view all mails in the database<br />
●<br />
Choose Powermail in the Web menu on the left site of the backend<br />
●<br />
●<br />
●<br />
●<br />
Now you can choose any page of the pagetree<br />
If the chosen page contents <strong>powermail</strong>s, a list with mails is shown to you<br />
You can filter the mails by using the two fields above the list (first field is the starttime, second field the endtime)<br />
Export symbols:<br />
● Excel symbol: Export the current list to an xls file<br />
● CSV symbol: Generate and download a CSV file<br />
● HTML table symbol: Just generate a html table without any formats<br />
<strong>powermail</strong> - 46
Define your export file as you want via tsconfig<br />
Use tsconfig of the page where your <strong>powermail</strong>s are listed, to manipulate the export file or the listing in the backend<br />
(see example)<br />
Example<br />
# set columns<br />
tx_<strong>powermail</strong>_mod1.export {<br />
number = #<br />
uid42 = Title<br />
uid43 = Prename<br />
uid44 = Lastname<br />
uid45 = Email<br />
date = Registration-Date<br />
time = Registration-Time<br />
}<br />
# set config<br />
tx_<strong>powermail</strong>_mod1.config {<br />
export.useTitle = 1<br />
export.dateformat = d.m.Y<br />
export.timeformat = H:i<br />
list.perPage = 50<br />
list.filterstart = 2008-04-01 00:00<br />
list.filterend = 2008-12-01 00:00<br />
list.dateformat = d.m.Y H:i<br />
}<br />
Example file for tsconfig above<br />
# Title Prename Lastname Email Registration-Date Registration-Time<br />
1. Dr. Alex Kellner test@test.de 01.01.2009 12:23<br />
2. Mischa Heissmann test@test.com 23.12.2208 16:11<br />
<strong>powermail</strong> - 47
Available markers for tsconfig<br />
Export settings (prefix: tx_<strong>powermail</strong>_mod1.export)<br />
Name Explanation What is this Default if no<br />
tsconfig set<br />
number Just an ascending number Field value 1<br />
date Registration date (format can be set – see below) Field value 1<br />
time Registration time (format can be set – see below) Field value 1<br />
sender Email of sender Field value 1<br />
senderIP IP address of sender Field value 1<br />
recipient Email of recipient Field value 1<br />
subject_r Email subject to recipient Field value 1<br />
formid Page ID where the form is in Field value 1<br />
content Email content Field value 0<br />
UserAgent UserAgent of sender Field value 1<br />
Referer Referer of sender Field value 1<br />
SP_TZ Location of sender Field value 1<br />
uid This automaticly fills columns with ALL pivars Field value 1<br />
uid[NUMBER] Define your own columns and use it like uid55 Field value 0<br />
uid[NUMBER]_[NU<br />
MBER]<br />
Define your own columns for values in second level (maybe<br />
checkboxes or multiple selections) like uid55_0 and uid55_1<br />
Field value 0<br />
Configuration of export and list (prefix: tx_<strong>powermail</strong>_mod1.config)<br />
Name Explanation What is this Default if no<br />
tsconfig set<br />
export.useTitle<br />
Configure if title should be displayed in the first line of<br />
the export file (boolean)<br />
Configuration<br />
of export<br />
file<br />
1<br />
export.dateform<br />
at<br />
export.timeform<br />
at<br />
list.perPage<br />
list.filterstar<br />
t<br />
list.filterend<br />
list.dateformat<br />
Configure your wanted date format in the export file (see<br />
http://php.net/manual/function.date.php for details)<br />
Configure your wanted time format in the export file (see<br />
http://php.net/manual/function.date.php for details)<br />
Change the number of listed mails per page in the<br />
backendform (default: 100)<br />
Set your own static filter starttime, if you want to show<br />
or hide some old mails (like: 2008-12-23 12:19)<br />
Set your own static filter endtime, if you want to show or<br />
hide some old mails (like: 2015-01-01 12:00)<br />
Date format for the backend listing (see<br />
http://php.net/manual/function.date.php for details)<br />
Configuration<br />
of export<br />
file<br />
Configuration<br />
of export<br />
file<br />
Configuration<br />
of listing in<br />
backend<br />
Configuration<br />
of listing in<br />
backend<br />
Configuration<br />
of listing in<br />
backend<br />
Configuration<br />
of listing in<br />
backend<br />
Y-m-d<br />
H:i:s<br />
100<br />
[currentYea<br />
r]-<br />
[currentMon<br />
th]-01<br />
00:00<br />
Current<br />
time like<br />
2008-01-01<br />
00:00<br />
Y-m-d H:i<br />
<strong>powermail</strong> - 48
Features<br />
Validation of field values<br />
JavaScript validation<br />
Example<br />
If you have activated validation JS in constants (default), than you can validate values of textfields just after input in<br />
frontend:<br />
Example: Mandatory check<br />
Example: E-Mail check<br />
Check for:<br />
This validation of textfields are currently possible:<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Mandatory<br />
E-Mail<br />
URL<br />
Numbers<br />
Numbers (with comma or point)<br />
Letters<br />
Letters and numbers<br />
Error Message:<br />
Note: Current error messages are in german and english – you can change or add your own messages via locallang or<br />
typoscript (see above)<br />
Stylesheet classes to manipulate validation messages and input fields:<br />
● If error in inputfields: <br />
● If no error in inputfields: <br />
● DIV Layer of errormessage: error<br />
<strong>powermail</strong> - 49
PHP validation<br />
Email of sender<br />
Email of user will be automaticly checked, as soon as the email field is selected in backend<br />
Autocheck via typoscript<br />
Use typoscript to check any field like (example to check uid41 if it is an email):<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
validate.uid41.auto = email<br />
validate.uid41.errormsg = Please check your email, there is an error!<br />
}<br />
This autochecks are possible:<br />
●<br />
●<br />
●<br />
●<br />
●<br />
email: check if value is an email<br />
url: check if value is a correct url<br />
numbers: only numbers allowed<br />
phone: numbers and / and + and - allowed<br />
alphanum: only numbers and characters allowed<br />
Manual check via typoscript (using regulare expressions)<br />
Use typoscript (in the setup) to check any field like (example to check uid41 if it is an url):<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
validate.uid41.expression = ^(http://)?([a-z0-9-]+\.)+([a-z0-9-]{2,3})$^<br />
validate.uid41.errormsg = Sorry, but this is not a correct URL, try again!<br />
}<br />
You can enter any regulare expression go check your field values<br />
Further regex examples:<br />
Field (e.g.: ###UID23###) should contain alex@wunschtacho.de:<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
validate.uid23.expression = /^alex\@wunschtacho\.de$/<br />
validate.uid23.errormsg = Sorry, but this field should contain alex@wunschtacho.de!<br />
}<br />
Field (e.g.: ###UID25### and ###UID26###) should contain the same text (maybe for passwords):<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
validate.uid25.expression = /^###UID26###$/<br />
validate.uid25.errormsg = Sorry, but your password fields are different – try again!<br />
}<br />
<strong>powermail</strong> - 50
Saving db values to any db table<br />
Introduction<br />
With <strong>powermail</strong> you can save your values to any db table (e.g. fe_users or tt_address)<br />
Example typoscript part in setup<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
# extern db entry (example for tt_adress)<br />
dbEntry {<br />
# enable or disable db entry for tt_address<br />
tt_address._enable = TEXT<br />
tt_address._enable.value = 1<br />
# add mm relation to uid 2 of tt_address_group (via mm table)<br />
tt_address._mm = COA<br />
tt_address._mm.10 = COA<br />
# 1 is always the mm table<br />
tt_address._mm.10.1 = TEXT<br />
tt_address._mm.10.1.value = tt_address_group_mm<br />
# 2 is always the other table<br />
tt_address._mm.10.2 = TEXT<br />
tt_address._mm.10.2.value = tt_address_group<br />
# 3 is always the uid of the other table to get a relation to this (in this case uid2<br />
of tt_address_group)<br />
tt_address._mm.10.3 = TEXT<br />
tt_address._mm.10.3.value = 2<br />
# table "tt_address" with field "email" is a static value =><br />
alexander.kellner@einpraegsam.net<br />
tt_address.email = TEXT<br />
tt_address.email.value = alexander.kellner@einpraegsam.net<br />
# table "tt_address" with field "pid" is the current pid (e.g. 12)<br />
tt_address.pid = TEXT<br />
tt_address.pid.field = uid<br />
# table "tt_address" with field "tstamp" is the current time as timestamp (like 123456789)<br />
tt_address.tstamp = TEXT<br />
tt_address.tstamp.data = date:U<br />
# table "tt_address" with field "address" is the current formatted time (like "Date:<br />
20.01.2009")<br />
tt_address.address = TEXT<br />
tt_address.address.data = date:U<br />
tt_address.address.strftime = Date: %d.%m.%Y<br />
# table "tt_address" with field "name" is the value from <strong>powermail</strong> (tt_content uid 88) field<br />
uid18 (###uid18###)<br />
tt_address.name = TEXT<br />
tt_address.name.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid18<br />
# table "tt_address" with field "last_name" is the value from <strong>powermail</strong> (tt_content uid 88)<br />
field uid18 (###uid18###)<br />
tt_address.last_name = TEXT<br />
tt_address.last_name.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid18<br />
# table "tt_address" with field "company" is the value from <strong>powermail</strong> (tt_content uid 88)<br />
field uid21_1 (###uid21_1###) (e.g. a checkbox value)<br />
tt_address.company = TEXT<br />
tt_address.company.data = TSFE:fe_user|sesData|<strong>powermail</strong>_88|uid21|1<br />
}<br />
}<br />
Some information about saving to other tables<br />
● Saving is available only if table and field are existing<br />
●<br />
●<br />
●<br />
Every table contains one record<br />
If you want to use more than only one mm relation, you can use tt_address._mm.10 and tt_address._mm.20<br />
and so on...<br />
With this small add to <strong>powermail</strong>, you can use <strong>powermail</strong> for many features like guestbook form, tipafriend form,<br />
fe_user registration, tt_address registration and so on...<br />
<strong>powermail</strong> - 51
Prefilling fields<br />
Sequence of prefilling fields<br />
1. Is there a fitting piVar like &tx_<strong>powermail</strong>_pi1[uid11]=text, than use this value, and if not...<br />
2. Is there a value in the session, so fill field with this value, and if not...<br />
3. Is there a value set in the backend flexform, take this value, and if not...<br />
4. Should this field filled with logged in fe_user datas (set in backend), take this value, and if not...<br />
5. Was typoscript used to prefill a field, use this (see example below), and if not<br />
6. Don't fill<br />
Example to prefill fields via typoscript setup<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
prefill {<br />
# fill field uid997 with a static text<br />
uid997 = TEXT<br />
uid997.value = example value<br />
# fill field uid998 with current timestamp<br />
uid998 = TEXT<br />
uid998.data = date:U<br />
# fill field uid998 with current date like "Date: 20.01.2009"<br />
uid996 = TEXT<br />
uid996.data = date:U<br />
uid996.strftime = Date: %d.%m.%Y<br />
}<br />
}<br />
# fill field uid995 with IP address of the user<br />
uid995 = TEXT<br />
uid995.data = getIndpEnv:REMOTE_ADDR<br />
Maybe it's usefull to fill some hidden fields with hidden but important values (IP address, timestamp, Language, GET<br />
params, etc..)<br />
Fighting spam<br />
●<br />
●<br />
We suggest you to use the extension wt_spamshield for fighting spam entries<br />
(see details in manual wt_spamshield)<br />
You can also use captcha (see next paragraph)<br />
Integrate captcha to your form<br />
● First of all install a captcha extension like captcha or sr_freecap<br />
●<br />
●<br />
●<br />
●<br />
Be sure, that you have chosen this extension via constants (captcha or sr_freecap)<br />
As you can add a normal textfield, you can add a captcha field, thats all<br />
If you have installed captcha AND sr_freecap, the extension use sr_freecap<br />
If you have not installed one of this extensions, an error message in frontend is shown<br />
Example: Using captcha<br />
<strong>powermail</strong> - 52
Example: Using sr_freecap<br />
Add new field: Selectorbox with values from database<br />
Step by step<br />
1. Add new field (typoscript) and use (e.g.) lib.object in this field<br />
2. Add your typoscript in the setup field to fill lib.object (see example below)<br />
Example typoscript for selectorbox from table tt_address<br />
# Get all tt_address datas from pid=5<br />
lib.object = COA_INT<br />
lib.object {<br />
10 = TEXT<br />
10.value = Select:<br />
}<br />
20 = CONTENT<br />
20.wrap = |<br />
20 {<br />
table = tt_address<br />
select {<br />
pidInList = 5<br />
orderBy = name<br />
}<br />
renderObj = COA<br />
renderObj {<br />
10 = COA<br />
10 {<br />
10 = TEXT<br />
10 {<br />
field = uid<br />
wrap = <br />
}<br />
20 = TEXT<br />
20 {<br />
field = name<br />
wrap = |<br />
}<br />
}<br />
}<br />
}<br />
Example output (html) of example typoscript<br />
Select:<br />
<br />
Name1<br />
Name2<br />
<br />
<strong>powermail</strong> - 53
FAQ<br />
I need help/support with this plugin!<br />
Use the TYPO3 forum http://www.typo3.net or http://www.typo3forum.net for help! The author will checks this both forums<br />
and give a little bit free support.<br />
How can I prefill some fields?<br />
● Prefill fields with values from backend or<br />
●<br />
●<br />
●<br />
●<br />
Prefill fields via typoscript (see example above) or<br />
Prefill fields with feuser values (set in backend)<br />
Prefill if some fields are already filled and than the user submits form and leaves this page but comes back to the<br />
form page later<br />
Prefilling from outside like index.php?id=1&tx_<strong>powermail</strong>[uid55] (if you want to prefill with a pre form)<br />
Error in backend “Unknown type: inline” - what to do?<br />
Deactivate IRRE and set the relations manually!<br />
If you have already deactivated IRRE or use TYPO3 < 4.1, don't care about this error – set the relations manually via list<br />
modul<br />
How can I overwrite the locallang translations / How can I add a new locallang marker<br />
You can overwrite the locallang via typoscript or you can change the locallang.xml in the ext folder.<br />
Details - see “HTML Templates and markers use” in manual above<br />
How can I use validation of fields per Javascript?<br />
This check is activated for default for textfields<br />
You can turn of the validation via TS constants<br />
JavaScript check don't work - why?<br />
Check if the 4 js files are correctly implemented in the HTML HEAD area:<br />
●<br />
●<br />
●<br />
●<br />
<br />
<br />
<br />
<br />
The last file is a little bit tricky – It is the current page with type=3131. If you copy this relative path to your browser, this<br />
<strong>powermail</strong> - 54
should show you a dynamic JavaScript file!<br />
If you want to check of mandatory fields, check if “required” is in the input class.<br />
If you want to check of email fields, check if “validate-email” is in the input class.<br />
Of course you can mix this.<br />
See standard form for all needed classes.<br />
How can a style my form?<br />
All can be done with css.<br />
Note: If you only need one page (no multiple page), you can anyway add more than only one fieldset. So you can float<br />
fieldsets horizontal (e.g.).<br />
Note1: See “CSS corner” for css examples below<br />
Note2: We offer a sample css in the extension folder: ext/<strong>powermail</strong>/css/sampleCSS.css<br />
Note3: Have a look into an existing <strong>powermail</strong> example and copy the css of this homepage (examples are listed above)<br />
HTML Validation vailed<br />
HTML validation failed on such form action:<br />
index.php?id=1&tx_<strong>powermail</strong>_pi1[mailId]=1&cHash=1234567<br />
●<br />
●<br />
Try to use RealUrl to remove cHash<br />
If you have chosen XHTML strict in your TYPO3 backend, the & will be written as &<br />
How can I choose my own html code instead of the automatic html generation<br />
Sometimes it could be useful to use an own html code instead of the automatic html code. You can simply generate some<br />
fields and copy the html source between the form tags in the formwrap.html template – thats all.<br />
Note: This method is not very flexible (no prefilling, no multiple, etc...)<br />
POWERMAIL ERROR: No title to current field found in DB (uidXX)<br />
If you are installing <strong>powermail</strong> and fill out the form (submit) and you will delete a field after this, the field value is still set in<br />
the session.<br />
Just delete the current FE cookie in your browser or close and re-open your browser and fill out the form again – that's all!<br />
I want a select box in frontend where the user can choose the receiver of the form<br />
Main explanation:<br />
● Add new fe_users in backend with email (e.g. UID1 info@test.com and UID2 with support@test.com)<br />
●<br />
●<br />
Create a new select field in <strong>powermail</strong> (value e.g. Info | 1 \n Support | 2) (select like ###UID42#)<br />
Use db query for recipients in TYPO3 backend (e.g. SELECT email FROM fe_users WHERE uid = ###UID42###)<br />
Example pictures:<br />
<strong>powermail</strong> - 55
Different Examples to select receiver in frontend:<br />
Query for selecting one fe user (e.g.: UID42 is fe_user uid):<br />
SELECT email FROM fe_users WHERE uid = ###UID42### AND hidden = 0 AND deleted = 0<br />
Query for selecting a fe usergroup (e.g.: UID43 is fe_user group uid):<br />
SELECT email FROM fe_users WHERE find_in_set(###UID43###,usergroup) > 0 AND hidden = 0 AND deleted = 0<br />
Query for sending form to a static fe usergroup (e.g.: usergroup with uid 44)<br />
SELECT email FROM fe_users WHERE find_in_set(44,usergroup) > 0 AND hidden = 0 AND deleted = 0<br />
I will check some fields (with php) if the value is an email or an URL<br />
plugin.tx_<strong>powermail</strong>_pi1 {<br />
validate.uid41.auto = email<br />
validate.uid41.errormsg = Please check your email, there is an error!<br />
}<br />
validate.uid56.auto = url<br />
validate.uid56.errormsg = Please check your url, there is an error!<br />
Details or how to use own regulare expression see above!<br />
I want to use captcha but no captcha field is shown<br />
Maybe you have installed and loaded the extension captcha and in constants is set sr_freecap (standard) instead of<br />
captcha.<br />
Onetime filling solve all my problems<br />
It's possible to enable one time filling via constants. Check if a value already exists (maybe an email address) or check if IP<br />
address already exists. See constants editor...<br />
Countryselector dropdown without value (Empty field cn_short_en ...)<br />
If you use static_info_tables or (e.g.) static_info_tables_de and you forgot to import the data, the value fields are empty in<br />
the database. Powermail shows an errormessage in the dropwdown like “Empty field cn_short_en (uid 33)”<br />
There is a problem with content elements like text/image / dividers2tab problem<br />
We know about this problem (< TYPO3 4.2) and there is an entry in the typo3 bugtracker:<br />
http://bugs.typo3.org/view.php?id=7297<br />
Workarround: You can disable dividers2tab in the extension manager of <strong>powermail</strong>, so tt_content is without dividers2tab (but<br />
<strong>powermail</strong> too)<br />
I cannot add fields (TYPO3 4.2)<br />
Just try to disable the dividers2tab checkbox in the extension manager for <strong>powermail</strong>. If this don't helps, we advise you to<br />
disable IRRE in the extension manager.<br />
NOTE: If you want to use IRRE, ensure that your server provides long POST variables<br />
(maybe it's useful to increase POST memory size on the server)<br />
<strong>powermail</strong> - 56
CSS corner<br />
How to get labels and fields in two columns with css<br />
Example picture:<br />
Example css:<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset {<br />
/* Disable border */<br />
border: none;<br />
}<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset label {<br />
/* Style labels */<br />
display: block;<br />
width: 150px;<br />
float: left;<br />
clear: both;<br />
}<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset input,<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset select {<br />
/* Style input fields */<br />
width: 200px;<br />
border: none;<br />
border-bottom: 1px solid black;<br />
margin-left: 10px;<br />
}<br />
div.tx_<strong>powermail</strong>_pi1_fieldwrap_html {<br />
/* Increase margin between every field */<br />
margin: 10px 0;<br />
}<br />
Additional note (clearfloat):<br />
Maybe it's useful to add a div layer to the tmpl_formwrap.html at the end, to clear the floats like:<br />
<br />
<strong>powermail</strong> - 57
How to get two columns<br />
Note:<br />
You can use more than only one fieldset to style your form with more columns.<br />
So you should add two pages (fieldsets) to your form and choose “single step”.<br />
Example picture:<br />
Example css:<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset {<br />
/* Disable border */<br />
border: none;<br />
}<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset_1 {<br />
/* Style left fieldset */<br />
width: 45%;<br />
float: left;<br />
}<br />
fieldset.tx-<strong>powermail</strong>-pi1_fieldset_2 {<br />
width: 45%;<br />
}<br />
Additional note (clearfloat):<br />
Maybe it's useful to add a div layer to the tmpl_formwrap.html at the end, to clear the floats like:<br />
<br />
<strong>powermail</strong> - 58
Developers corner<br />
Database relation model<br />
(also available in extension folder <strong>powermail</strong>/doc/database_relation)<br />
tt_content: Original tt_content field extended with some <strong>powermail</strong> fields<br />
tx_<strong>powermail</strong>_fieldsets: Table with all fieldsets<br />
tx_<strong>powermail</strong>_fields: Table with all fields<br />
tx_<strong>powermail</strong>_mails: If you submit in a form the values are saved to this table<br />
<strong>powermail</strong> - 59
Hooks in <strong>powermail</strong><br />
Introduction<br />
With the possibilitiy of hooks, you can manipulate extensions and TYPO3 without changing the code. So you enter your own<br />
code from outside.<br />
Hook documentation<br />
# Hookname File Folde<br />
r<br />
1 Hook for<br />
main<br />
manipulat<br />
ion1<br />
2 Hook for<br />
main<br />
manipulat<br />
ion2<br />
3 FormWrap<br />
outerMark<br />
erArray<br />
Hook<br />
4 FormWrap<br />
innerMark<br />
erArray<br />
Hook<br />
5 Hook for<br />
adding<br />
new<br />
fields<br />
6 Hook<br />
after<br />
field<br />
generatio<br />
n<br />
class.tx_<br />
<strong>powermail</strong><br />
_pi1.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_pi1.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_form.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_form.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_html.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_html.php<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
Function Input Retur<br />
n<br />
PM_MainC<br />
ontentBe<br />
foreHook<br />
PM_MainC<br />
ontentAf<br />
terHook<br />
PM_FormW<br />
rapMarke<br />
rHook<br />
PM_FormW<br />
rapMarke<br />
rHookInn<br />
er<br />
PM_Field<br />
Hook<br />
PM_Field<br />
WrapMark<br />
erHook<br />
$this-<br />
>sessionfi<br />
elds,<br />
$this-<br />
>piVars,<br />
$this<br />
$this-<br />
>content,<br />
$this-<br />
>piVars,<br />
$this<br />
$this-<br />
>OuterMark<br />
erArray,<br />
$this-<br />
>subpartAr<br />
ray,<br />
$this-<br />
>conf,<br />
$this<br />
$this-<br />
>InnerMark<br />
erArray,<br />
$this-<br />
>conf,<br />
$this<br />
$this-<br />
>xml,<br />
$this-<br />
>title,<br />
$this-<br />
>type,<br />
$this-<br />
>uid,<br />
$this-<br />
>markerArr<br />
ay, $this-<br />
>piVarsFro<br />
mSession,<br />
$this<br />
$this-<br />
>uid,$this<br />
->xml,<br />
$this-<br />
>type,<br />
$this-<br />
>title,<br />
$this-<br />
>markerArr<br />
ay,<br />
$content,<br />
$this-<br />
>piVarsFro<br />
mSession,<br />
$this<br />
Note<br />
- You can change the<br />
sessions or piVars or<br />
something like that<br />
- Change the whole<br />
output $content<br />
- This hook will be<br />
opened before the<br />
outerMarker array is<br />
substituted with HTML<br />
template on the form<br />
page.<br />
- This hook will be<br />
opened before the<br />
innerMarker array is<br />
substituted with HTML<br />
template on the form<br />
page.<br />
$this<br />
-<br />
>cont<br />
ent<br />
This hook allows you<br />
to add new fields to<br />
<strong>powermail</strong> (see<br />
<strong>powermail</strong>_mul for an<br />
example)<br />
- This hook will be<br />
opened before the html<br />
code of the current<br />
field is given back<br />
(at the end of<br />
fieldgeneration).<br />
Maybe if you want to<br />
manipulate a special<br />
field<br />
Example use<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_M<br />
ainContentHookBefor<br />
e'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_M<br />
ainContentHookAfter<br />
'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_F<br />
ormWrapMarkerHook']<br />
[]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_F<br />
ormWrapMarkerHookIn<br />
ner'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_F<br />
ieldHook']['FIELDNA<br />
ME'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_F<br />
ieldWrapMarkerHook'<br />
][]<br />
<strong>powermail</strong> - 60
# Hookname File Folde<br />
r<br />
7 Hook for<br />
markerArr<br />
ay in<br />
field<br />
generatio<br />
n<br />
8 Hook for<br />
confirmat<br />
ion page<br />
9 Mandatory<br />
and error<br />
check<br />
hook<br />
1<br />
0<br />
1<br />
1<br />
1<br />
2<br />
1<br />
3<br />
Hook for<br />
email<br />
change<br />
Submit<br />
hook<br />
before<br />
submit<br />
Submit<br />
hook<br />
after<br />
emails<br />
Thx<br />
message<br />
hook<br />
class.tx_<br />
<strong>powermail</strong><br />
_html.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_confirma<br />
tion.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_mandator<br />
y.php<br />
class.tx_<br />
<strong>powermail</strong><br />
_submit.p<br />
hp<br />
class.tx_<br />
<strong>powermail</strong><br />
_submit.p<br />
hp<br />
class.tx_<br />
<strong>powermail</strong><br />
_submit.p<br />
hp<br />
class.tx_<br />
<strong>powermail</strong><br />
_submit.p<br />
hp<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
pi1<br />
Function Input Retur<br />
n<br />
PM_Field<br />
WrapMark<br />
erArrayH<br />
ook<br />
PM_Confi<br />
rmationH<br />
ook<br />
PM_Manda<br />
toryHook<br />
PM_Submi<br />
tEmailHo<br />
ok<br />
PM_Submi<br />
tBeforeM<br />
arkerHoo<br />
k<br />
PM_Submi<br />
tAfterMa<br />
rkerHook<br />
PM_Submi<br />
tLastOne<br />
Hook<br />
$this-<br />
>uid,$this<br />
->xml,<br />
$this-<br />
>type,<br />
$this-<br />
>title,<br />
$this-<br />
>markerArr<br />
ay, $this-<br />
>piVarsFro<br />
mSession,<br />
$this<br />
$this-<br />
>markerArr<br />
ay, $this<br />
$this-<br />
>error,<br />
$this-<br />
>markerArr<br />
ay, $this-<br />
>innerMark<br />
erArray,<br />
$this-<br />
>sessionfi<br />
elds,<br />
$this<br />
$this-<br />
>subpart,<br />
$this-<br />
>maildata,<br />
$this-<br />
>sessionda<br />
ta, $this-<br />
>markerArr<br />
ay, $this<br />
$this,<br />
$this-<br />
>markerArr<br />
ay, $this-<br />
>sessionda<br />
ta<br />
$this,<br />
$this-<br />
>markerArr<br />
ay, $this-<br />
>sessionda<br />
ta<br />
$this-<br />
>content,<br />
$this-<br />
>conf,<br />
$this-<br />
>sessionda<br />
ta, $this-<br />
>ok, $this<br />
Note<br />
- This hook will be used<br />
for every kind of<br />
field. You can<br />
manipulate the<br />
markerArray before the<br />
field is generated<br />
- This hook will be<br />
opened before the<br />
marker array is<br />
substituted with HTML<br />
template on the<br />
confirmation page.<br />
- If you set $this-<br />
>error to 1, <strong>powermail</strong><br />
will stop the submit<br />
process, with $this-<br />
>sessionfields you can<br />
write your own error<br />
message<br />
- This hook allows to<br />
change the emails<br />
(subject, receiver,<br />
sender, etc..)<br />
Error<br />
code<br />
(0/1<br />
bolea<br />
n)<br />
If you want to stop<br />
the submit (emails and<br />
db insert), you can<br />
return TRUE<br />
- If you want to do<br />
something after a<br />
correct submit, you<br />
can use this hook<br />
(maybe an additional<br />
db entry)<br />
- If you want to<br />
manipulate the thx<br />
message after submit<br />
Example use<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_F<br />
ieldWrapMarkerArray<br />
Hook'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_C<br />
onfirmationHook'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_M<br />
andatoryHook'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_S<br />
ubmitEmailHook'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_S<br />
ubmitBeforeMarkerHo<br />
ok'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_S<br />
ubmitAfterMarkerHoo<br />
k'][]<br />
$GLOBALS['TYPO3_CON<br />
F_VARS']['EXTCONF']<br />
['<strong>powermail</strong>']['PM_S<br />
ubmitLastOne'][]<br />
How to use a hook in my own extension?<br />
Example for using a <strong>powermail</strong> hook in your own extension in the ext_localconf.php:<br />
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['<strong>powermail</strong>']['PM_FormWrapMarkerHook'][] =<br />
'EXT:yourextension/targetphpfile:tx_yourphpclass';<br />
This hook want to use the function PM_FormWrapMarkerHook() in your class<br />
Note: The class name must start with a tx_<br />
Additional information<br />
Hook documentation is also available in extension folder <strong>powermail</strong>\doc\hook<br />
●<br />
●<br />
hooks.ods could be open with OpenOffice<br />
hooks.html can be read with a browser<br />
<strong>powermail</strong> - 61
Look into another extension which uses a <strong>powermail</strong> hook to manipulate <strong>powermail</strong><br />
The antispam extension wt_spamshield uses two <strong>powermail</strong> hooks, look into the code, if you want to know more:<br />
http://typo3.org/extensions/repository/view/wt_spamshield/0.1.6/<br />
TYPO3 hook documentation<br />
http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/3/4/<br />
http://typo3.org/development/articles/how-to-use-existinghooks/page/1/?tx_rlmpofficedocuments_pi1%5Bview%5D=multiple&cHash=e106c40cbd<br />
Do you really need a hook?<br />
You can easily add a new marker with “dynamic typoscript marker” - so there is the possibility to use a userfunc...<br />
Do you need a new hook?<br />
Do you need a special hook? Write us!<br />
<strong>powermail</strong> - 62
Todos<br />
Bugfixes<br />
●<br />
A list of known bugs is viewable at forge.typo3.org:<br />
http://forge.typo3.org/projects/extension-<strong>powermail</strong>/issues<br />
Features<br />
●<br />
A list of useful features is viewable at forge.typo3.org:<br />
http://forge.typo3.org/projects/extension-<strong>powermail</strong>/issues<br />
Request<br />
Do you need a new feature or maybe you've found a bug?<br />
Please add a new issue at http://forge.typo3.org/projects/extension-<strong>powermail</strong>/issues or write us an email!<br />
<strong>powermail</strong> - 63
Changelog<br />
Powermail version 1.3.x stable<br />
Update on 03.08.2008 version 1.3.11<br />
● New Hook: Inner Form markerArray<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Changed HTML Template Formwrap and Fieldwrap for other extensions<br />
Removed too much code and files<br />
Bugfix #1189: unique with empty values<br />
Bugfix #1122: preparing mandatory for radio buttons<br />
Bugifx for <strong>powermail</strong>_multiple<br />
Prepare for <strong>powermail</strong>_cond (conditions for <strong>powermail</strong>)<br />
Update on 28.07.2008 version 1.3.10<br />
● New languages: PL, ES, PT<br />
●<br />
●<br />
●<br />
●<br />
New global Markers in fieldwrap (formname and formtarget)<br />
Uploaded files could be deleted<br />
Reset button with clearing whole session<br />
Small change in the three fieldwrap hook (session will be delivered)<br />
Update on 14.07.2008 version 1.3.9<br />
● Backend module with possibility to delete mails manually<br />
●<br />
●<br />
●<br />
Backend module with possibility to delete mails after export<br />
Powermail suggests geoip for geo information<br />
Added markerArray hook for field generation<br />
Update on 06.07.2008 version 1.3.8<br />
● Bugfix: Dividers2tab for TYPO3 4.2<br />
● Start and Stop added for TYPO3 4.2<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Start and Stop added for fields and fieldsets<br />
Add icon to CType selection<br />
Language selection is no more shown twice<br />
Bugfix: Values of submit and reset<br />
Bugfix: Save mails was shown in other plugins<br />
Update on 29.06.2008 version 1.3.7<br />
● Errormessage if no TS found<br />
●<br />
●<br />
Sorting of pagebrowser in js multiple fixed<br />
Value of submit and reset removed<br />
Update on 21.06.2008 version 1.3.6<br />
● PID where to save could be set via plugin now (and via ts too)<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Sender E-Mail can be set via constants<br />
Labels for ts fields can be used now<br />
Bugfix: Shows breaks on confirmation page (e.g. textarea)<br />
NoIRRE: uid added to dropdown (fieldset and content choose)<br />
Debug output: Added array with db values<br />
<strong>powermail</strong> - 64
●<br />
●<br />
●<br />
Removed SQL debug output<br />
Some bugfixes in php files<br />
Small improvement in english locallang part<br />
Update on 07.06.2008 version 1.3.5<br />
● Small fix for mm relations with external db entries<br />
●<br />
Small fix for <strong>powermail</strong>_mul<br />
Update on 28.05.2008 version 1.3.4<br />
● Fixed problem with localization on some systems<br />
Update on 25.05.2008 version 1.3.3<br />
● Improvement for Plaintext (html tags will be removed)<br />
●<br />
●<br />
Improvement in constants for plaintext and html mails<br />
Small fix in Sender name<br />
Update on 21.05.2008 version 1.3.2<br />
● Debug output added (activate via constants)<br />
Update on 20.05.2008 version 1.3.1<br />
● Set date2cal date format via constants<br />
●<br />
Manual fix<br />
Update on 15.05.2008 version 1.3.0<br />
● Db entries to other tables with mm relations available<br />
(Attention: New dbEntry typoscript)<br />
●<br />
●<br />
●<br />
●<br />
Plaintext available (enable in constants)<br />
RTE parsing can be disabled via constants<br />
No more removeXSS for piVars<br />
Bugfix: MX check for windows disabled<br />
Powermail version 1.2.x stable<br />
Update on 12.05.2008 version 1.2.4<br />
● Failure fixex: tt_address entries activated by default<br />
Update on 08.05.2008 version 1.2.3<br />
● New feature: Accesskeys available in fields (automaticly or manually via constants)<br />
●<br />
New feature: Tabindex available in fields (via constants)<br />
Update on 07.05.2008 version 1.2.2<br />
● Adding new field to <strong>powermail</strong>: Typoscript element -<br />
Possibility to use a userfunc, etc... as a new field<br />
●<br />
Adding a new hook: Easy adding new fields to <strong>powermail</strong><br />
Update on 06.05.2008 version 1.2.1<br />
● Onetime filling available (check by fieldcontent or IP address)<br />
● Bugfix for checkbox (javascript was not included in 1.2.0)<br />
Update on 05.05.2008 version 1.2.0<br />
● Fields can be prefilled with typoscript<br />
●<br />
●<br />
Dynamic typoscriptmarker can be used in every HTML Template or RTE field<br />
Dynamic locallangmarker can be used in every HTML Template or RTE field now<br />
<strong>powermail</strong> - 65
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
MX Record check of sender email address (disabling via constants)<br />
###POWERMAIL_ALL### Don't show label if value is empty (enabling via constants)<br />
Removed unnecessary p-tags in emails<br />
DB entries in other tables (use typoscript)<br />
Mandatory check of checkboxes<br />
Disable automatic realurl settings in extension manager (if wanted)<br />
DB entry in other db table in second level (like uid3_0)<br />
Hiddenfields and JavaScript for checkboxes can be disabled (via constants)<br />
(Attention: Changes HTML Template tmpl_fieldwrap.html)<br />
Fix: Checkbox CSS classes added<br />
Country selection available with static_info_tables_de, _fr, _da, and so on...<br />
RemoveXSS for HTML fields can be disabled if wanted (via constants)<br />
Charset of output can be set via constants (utf8)<br />
Small fix in html for countryselection<br />
Powermail version 1.1.x stable<br />
Update on 05.05.2008 version 1.1.10<br />
● Security fix<br />
Update on 20.04.2008 version 1.1.9<br />
● Update for handling checkboxes (disabling of checkbox values possible – via JS)<br />
Update on 14.04.2008 version 1.1.8<br />
● Extern db entry (timestamp and current pid enabled)<br />
Update on 10.04.2008 version 1.1.7<br />
● Improved hook loop in submit.php<br />
●<br />
●<br />
●<br />
Fixed CSS class of previous and next button<br />
Small fix in realurlconf<br />
Prepared fileupload in second level (in array)<br />
Update on 09.04.2008 version 1.1.6<br />
● Small bugfix<br />
Update on 09.04.2008 version 1.1.5<br />
● File upload: Error messages if file is to large or has wrong extension<br />
●<br />
●<br />
●<br />
Added new div layer to html_fieldwrap for checkboxes and radiobuttons<br />
Export with piVars in second level available (checboxes, multiple selctions, etc...)<br />
Filter is always visible in backend module (even if current page has no <strong>powermail</strong>s)<br />
Update on 07.04.2008 version 1.1.4<br />
● Small fixes in use with <strong>powermail</strong>_optin<br />
Update on 06.04.2008 version 1.1.3<br />
● Enabled <strong>powermail</strong>_optin with <strong>powermail</strong><br />
●<br />
●<br />
●<br />
3 more hooks added<br />
redirect fix<br />
small fix for mod1<br />
<strong>powermail</strong> - 66
Update on 01.04.2008 version 1.1.2<br />
● Individual configuration of export files via tsconfig now available!<br />
●<br />
●<br />
●<br />
Backend module with some configuration possibilities<br />
Pagebrowser to backend module added<br />
Small fix for redirect after submit (without baseurl)<br />
Update on 27.03.2008 version 1.1.1<br />
● Preselection for checkbox, radiobuttons and selectfields available<br />
●<br />
●<br />
Small fix for country preselection<br />
CSS example added to manual<br />
Update on 25.03.2008 version 1.1.0<br />
● Noreply email address (sender) can be set via constants<br />
●<br />
●<br />
●<br />
Easy saving values to any db table via typoscript<br />
No more emails to noreply@domain.org<br />
Allowed upload file extensions decreased to lower case letters<br />
Powermail version 1.0.x stable<br />
Update on 21.03.2008 version 1.0.12<br />
● Small fix for formsonpage use<br />
●<br />
Small fix if you want to send text in emails<br />
Update on 19.03.2008 version 1.0.11<br />
● SQL debug output deactivated<br />
● Small change for TYPO3 4.2<br />
Update on 14.03.2008 version 1.0.10<br />
● New feature: Markers available in receiver field<br />
●<br />
●<br />
Added a new hook to manipulate email receiver, sender and subject<br />
Hook documentation added to manual<br />
Update on 12.03.2008 version 1.0.9<br />
● Bugfix: Multiple within select fields available<br />
Update on 09.03.2008 version 1.0.8<br />
● New feature: Markers allowed in email subjects<br />
●<br />
●<br />
●<br />
●<br />
New feature: Markers allowed in regulare expressions (php validation check of fields)<br />
Added realurl example in the folder ext/<strong>powermail</strong>/doc/<br />
Bugfix: Confirmationpage error if content was only available for a special usergroup<br />
Manual: Addes some new examples<br />
Update on 08.03.2008 version 1.0.7<br />
● Bugfix: require_once error on a few server<br />
●<br />
Some kind of “code cleaning”<br />
Update on 06.03.2008 version 1.0.6<br />
● New feature: Uploaded files will be attached to emails<br />
●<br />
If captcha and sr_freecap is loaded, select one via constants<br />
<strong>powermail</strong> - 67
Update on 04.03.2008 version 1.0.5<br />
● Fixed a language problem with javascript validation error messages<br />
●<br />
●<br />
Javascript validation of text fields: Added german umlauts<br />
Constants splitted into two parts<br />
Update on 02.03.2008 version 1.0.4<br />
● date2cal is not needed any more<br />
Update on 01.03.2008 version 1.0.3<br />
● Bugfixing linebreaks (e.g. In textareas)<br />
Update on 29.02.2008 version 1.0.1 / 1.0.2<br />
● Uses new API from date2cal 7.0.0<br />
(faster and better work between <strong>powermail</strong> and date2cal)<br />
●<br />
Some mall bugfixes<br />
Update on 28.02.2008 version 1.0.0<br />
● Fields and Fieldsets can be set to hidden<br />
●<br />
●<br />
●<br />
●<br />
●<br />
HTMLentities for JS integration can be disabled per constants<br />
Bugfix: JS errormessage in IE removed<br />
Bugfix: Files could not be uploaded on some TYPO3 installations<br />
Bugfix: Content with <strong>powermail</strong> can be set to hidden<br />
Bugfix: Starttime and Endtime available in Content with <strong>powermail</strong><br />
Powermail version 0.7.x beta<br />
Update on 27.02.2008 version 0.7.2<br />
● Main bug finally fixed: On some T3 installations no field could be added!<br />
Update on 25.02.2008 version 0.7.1<br />
● Auto PHP validation of every field available<br />
●<br />
●<br />
●<br />
●<br />
Manual PHP validation of every field available (with regulare expressions)<br />
Bugfix: Addslashes two times to one time<br />
Small HTML bugfix for id in frontend<br />
Sender email address will be automaticly validated<br />
Update on 23.02.2008 version 0.7.0<br />
● Select, Checkboxes, Radiobuttons with different label/values available<br />
●<br />
●<br />
●<br />
●<br />
●<br />
You can set a sender name<br />
First email as sender, rest with cc<br />
Marker available in receiver db select<br />
Possibilty to select receiver in frontend<br />
Hook documentation added<br />
Powermail version 0.6.x beta<br />
Update on 21.02.2008 version 0.6.3<br />
● Small bugfix (“array” in ###POWERMAIL_ALL###)<br />
●<br />
Database relation added to manual<br />
Update on 20.02.2008 version 0.6.2<br />
● Recipients sql query finally possible in backend<br />
<strong>powermail</strong> - 68
●<br />
●<br />
●<br />
●<br />
French translation added to <strong>powermail</strong><br />
trim() will be used for all values<br />
Single quote allowed in fields<br />
Bugfix if “onfocus” is not used<br />
Update on 18.02.2008 version 0.6.1<br />
● Small bugfix for checkbox css classes in frontend<br />
●<br />
Standard values from datetime fields will be filled correctly (no more timestamp)<br />
Update on 17.02.2008 version 0.6.0<br />
● Multiple page via javascript finally added<br />
●<br />
●<br />
Changes in manual<br />
Sample CSS added<br />
Powermail version 0.5.x beta<br />
Update on 15.02.2008 version 0.5.9<br />
● JavaScript validation enabled with simulatestaticdocuments<br />
●<br />
●<br />
IP logging can be disabled<br />
Bugfix: Date fields will be prefilled now<br />
Update on 14.02.2008 version 0.5.8<br />
● Small bugfix in upload fields<br />
●<br />
New screenshot in manual<br />
Update on 11.02.2008 version 0.5.7<br />
● Bugfix: Sender email<br />
●<br />
●<br />
HTML validation passed<br />
ID's for checkboxes and radiobuttons improved<br />
Update on 10.02.2008 version 0.5.6<br />
● New global marker added: ###POWERMAIL_UPLOADFOLDER###<br />
●<br />
●<br />
●<br />
Check: Upload field function<br />
Bugfix in sender email address if no address defined (noreplay@domain.com)<br />
Bugfix in ext_localconf.php in realurl settings (no more foreach error)<br />
Update on 03.02.2008 version 0.5.5<br />
● New translation added: Dutch<br />
Update on 31.01.2008 version 0.5.4<br />
● Bugfix: No more error message if you choose the backend module<br />
●<br />
●<br />
Marker ###POWERMAIL_BASEURL### filled with baseurl or absolute URL to your Server<br />
Powermail can be used in TYPO3 4.2 if wanted<br />
Update on 26.01.2008 version 0.5.3<br />
● Prototype.js can be disabled via constants<br />
●<br />
●<br />
●<br />
●<br />
Bugfix: Another umlauts problem (utf-8)<br />
Disallow quotes in tags<br />
You can disable tab dividers if wanted<br />
Define which fe_users fields are available for prefilling<br />
<strong>powermail</strong> - 69
Update on 26.01.2008 version 0.5.2<br />
● Bugfix: Small change in showing error message (wt_spamshield)<br />
●<br />
Spam Hook with further objects<br />
Update on 24.01.2008 version 0.5.1<br />
● Bugfix: Default values in RTE: ###POWERMAIL_ALL###<br />
●<br />
●<br />
●<br />
●<br />
Bugfix: Break in textareas is allowed now (NOTE: Changes in tmpl_all.html)<br />
Fields submit, reset, check and radio with better css class<br />
Umlauts in emails possible<br />
Frontend preview can be deactivated in backend<br />
Update on 22.01.2008 version 0.5.0<br />
● Change of version status: from alpha to beta<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Redirect instead of thx message possible<br />
Marker of each field will be displayed in backend<br />
Small security fix<br />
Captcha fix<br />
Bug in countryselect fixed<br />
Small bugfixes for content element in backend<br />
Global Marker ###POWERMALL_ALL### fix (with checkboxes)<br />
Constants markerALL.notIn changed<br />
Additional RTE fields for both emails in backend (can be used with existing HTML template)<br />
Field “name” in backend of each field removed (not in use any more)<br />
Changes in php<br />
● Pagebrowser in multiple available (2 of 4)<br />
Powermail version 0.4.x alpha<br />
Update on 21.01.2008 version 0.4.1<br />
● Bugfix: Captcha use with Confirmation page<br />
Update on 20.01.2008 version 0.4.0<br />
● Security update<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Captcha can be used: sr_freecap<br />
Captcha can be used: captcha<br />
PHP bugfixes<br />
Example pictures for every field in the backend<br />
New screenshots in manual<br />
Powermail version 0.3.x alpha<br />
Update on 18.01.2008 version 0.3.4<br />
● Mandatory JS check was disabled if date2cal was in use<br />
●<br />
●<br />
●<br />
Some bugfixes in php<br />
Now: User int plugin<br />
Small changes in locallang.xml<br />
Update on 16.01.2008 version 0.3.3<br />
● Add mandatory and validation javascript for fieldcheck<br />
<strong>powermail</strong> - 70
Update on 16.01.2008 version 0.3.2<br />
● Some changes in the manual<br />
●<br />
●<br />
●<br />
Some small fixes<br />
Small change in html template: fieldwrap<br />
Now, you can clear session after submit (set via constants)<br />
Update on 16.01.2008 version 0.3.1<br />
● Upload field enabled (updated constants)<br />
●<br />
●<br />
●<br />
Get values from logged in fe_user<br />
Checks for valid sender email address<br />
Improved error management<br />
Powermail version 0.2.x alpha<br />
Update on 15.01.2008 version 0.2.2<br />
● Mandatory fields will be added with a symbol (*) (Symbol can be wrapped in constants)<br />
●<br />
Bugfix in Excel export<br />
● Powermail can be used with older TYPO3 versions (tested on TYPO3 3.8)<br />
●<br />
●<br />
IRRE can be deactivated if wanted (so you can enter the relation by hand)<br />
Bugfix (checkbox label)<br />
Update on 14.01.2008 version 0.2.1<br />
● Mandatory field check enabled<br />
Update on 13.01.2008 version 0.2.0<br />
● Backend module with list-, export- and filter functions<br />
●<br />
Bugfixes in main code<br />
Powermail version 0.1.x alpha<br />
Update on 10.01.2008 version 0.1.4<br />
● Backend module integrated<br />
●<br />
Many bugfixes<br />
Initial Release to TER on 08.01.2008 version 0.1.3<br />
● Main functions for <strong>powermail</strong><br />
<strong>powermail</strong> - 71
Additional links<br />
You can use one of the following links, to get more informations about this plugin:<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Authors (Alex Kellner) homepage: http://www.einpraegsam.net<br />
Authors (Mischa Heißmann) homepage: http://www.heissmann.org<br />
Tuning parts for your car: http://www.wunschtacho.de<br />
Stuff for snowboarder and skier: http://www.justpowder.de<br />
Do you need help with this plugin: http://www.typo3.net<br />
<strong>powermail</strong> - 72