powermail
Extension Key: powermail Copyright 2005-2009, Alexander Kellner, Mischa HeiĂ&#x;mann, <Alexander.Kellner@einpraegsam.net, typo3.2008@heissmann.org> This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 - a GNU/GPL CMS/Framework available from www.typo3.com
powermail - 1
Table of Contents powermail...................................................................................................................................1 Powermail Introduction........................................................................................................................................................4 What does it do?................................................................................................................................................................4 Tested with TYPO3 version...............................................................................................................................................4 Powermail suggested (not needed – only suggested).......................................................................................................4 Known conflicts with...........................................................................................................................................................4 Screenshots...........................................................................................................................................................................5 Frontend............................................................................................................................................................................5 Frontend: Testform einpraegsam.net.................................................................................................................................7 Frontend: Mailform wunschtacho.de..................................................................................................................................8 Frontend: Just another screenshot (form with tt_content inside).......................................................................................9 Frontend: Contact form used by conject..........................................................................................................................10 Frontend: Support contact form to Zoomin Support.........................................................................................................11 Frontend: Using multiple pages via JS............................................................................................................................12 Searching for new screenshots........................................................................................................................................12 Backend Module..............................................................................................................................................................13 How to use quickly..............................................................................................................................................................14 Standard: Use IRRE........................................................................................................................................................14 Without IRRE (TYPO3 < 4.1 or IRRE deactivated)..........................................................................................................14 Small video tutorial...........................................................................................................................................................14 Plugin Configuration...........................................................................................................................................................15 Add a new content item...................................................................................................................................................15 General: Enter a header..................................................................................................................................................15 Formdata: Main settings..................................................................................................................................................16 Fields: Create new Fieldsets (pages)..............................................................................................................................17 Fields: Add fields (IRRE)..................................................................................................................................................18 Fields: Add fields (without IRRE).....................................................................................................................................20 Fields: Overview..............................................................................................................................................................21 Fields: Explanation...........................................................................................................................................................22 Sender: Sender email and subject...................................................................................................................................36 Recipients: Receiver email and subject...........................................................................................................................37 Answerpage: Thx message.............................................................................................................................................38 Access: Form access ......................................................................................................................................................38 powermail settings in the Extension Manager.................................................................................................................39 Constants for powermail....................................................................................................................................................40 Setup for powermail............................................................................................................................................................43 HTML template and markers example use........................................................................................................................48 Example for email for recipients.......................................................................................................................................48 Changing (or adding new) flexible locallang markers in any html template or RTE field:................................................48 Adding new flexible typoscript markers in any html template or RTE field:......................................................................48 Backend module..................................................................................................................................................................50 Introduction......................................................................................................................................................................50 Define your export file as you want via tsconfig...............................................................................................................51 Features................................................................................................................................................................................53 Validation of field values..................................................................................................................................................53 Saving db values to any db table.....................................................................................................................................55 Prefilling fields..................................................................................................................................................................57 Value manipulation..........................................................................................................................................................58 T3 Link syntax in labels....................................................................................................................................................59 Let the user decide if he wants a confirmation mail or not...............................................................................................60 Fighting spam..................................................................................................................................................................61 Integrate captcha to your form.........................................................................................................................................61 Add new field: Selectorbox with values from database....................................................................................................63 FAQ.......................................................................................................................................................................................64 I need help/support with this plugin!.................................................................................................................................64 How can I prefill some fields?..........................................................................................................................................64 Error in backend “Unknown type: inline” - what to do?....................................................................................................64 How can I overwrite the locallang translations / How can I add a new locallang marker.................................................64 How can I use validation of fields per Javascript?...........................................................................................................64 JavaScript check don't work - why?.................................................................................................................................64 How can a style my form?................................................................................................................................................65 HTML Validation vailed....................................................................................................................................................65 How can I choose my own html code instead of the automatic html generation..............................................................65 I want a select box in frontend where the user can choose the receiver of the form.......................................................65 I will check some fields (with php) if the value is an email or an URL..............................................................................66 I want to use captcha but no captcha field is shown........................................................................................................66 Onetime filling solve all my problems...............................................................................................................................66 Countryselector dropdown without value (Empty field cn_short_en ...)...........................................................................66 There is a problem with content elements like text/image / dividers2tab problem...........................................................66 I cannot add fields............................................................................................................................................................66 Dynamic text on answer page .........................................................................................................................................66 powermail - 2
Include google searchword in mail...................................................................................................................................67 Dynamic date in a dropdown field ...................................................................................................................................67 CSS corner...........................................................................................................................................................................68 Add a default CSS...........................................................................................................................................................68 How to get labels and fields in two columns with css.......................................................................................................69 How to get two columns...................................................................................................................................................70 Developers corner...............................................................................................................................................................71 Database relation model..................................................................................................................................................71 Hooks in powermail..........................................................................................................................................................72 Todos ...................................................................................................................................................................................75 Bugfixes...........................................................................................................................................................................75 Features...........................................................................................................................................................................75 Request............................................................................................................................................................................75 Changelog ...........................................................................................................................................................................76 Additional links....................................................................................................................................................................86
powermail - 3
Powermail Introduction What does it do?
Powermail is a powerful and – in addition – a very easy mailform extension with IRRE technics in backend and a high flexibilty for the users. You can very easily define your form fields in the backend and get an output without html knowledge. Emails with html content or plaintext are also possible. Powermail offers many features like automatic database storing as XML (and additional database storing to any db table) for every page. Individual Excel and CSV export possible in own backend modul. Different HTML templates and RTE fields in backend for sender (email), receiver (email), form, fields, thx- and error message. Powermail can send mails to more fe- or be-users or to only one email address, field values can be prefilled (e.g. from logged in fe_user) and all datas will be stored in the current user session (so the user can come back later and finish form filling) A javascript validation (mootools or prototype) checks values of fields, simple define in backend what to check (check for mandatory, numbers only, email address, URL, etc..) You can validate (with php) every field value (auto or regulare expressions). It's possible to select the mail receiver in frontend. You can use captcha, sr_freecap, jm_recaptcha, wt_calculating_captcha or wt_spamshield against spam in your forms. Powermail offers morestep forms (php or javascript if wanted) and works with date2cal and static_info_tables or offers information from geoip and many more... Powermail offers many features to extend powermail (hooks, ts objects and userfuncs, debugoutput, etc...) And we tried to offer all this in a very easy way. Editors can create complex mailforms without html knowledge.
Tested with TYPO3 version ●
TYPO3 3.8
●
TYPO3 4.0
●
TYPO3 4.1
●
TYPO3 4.2
Powermail suggested (not needed – only suggested) ●
static_info_tables (and _de, _fr, _da, etc...)
●
date2cal (tested with 7.0.6)
●
powermail_optin
●
powermail_mul
●
powermail_frontend
●
powermail_cond
●
wt_spamshield
●
wt_directory
●
wt_dynamictarget
●
wt_carmarket
●
geoip
●
xajax
●
jm_recaptcha
●
wt_calculating_captcha
Known conflicts with ●
Dbal
●
Javascript conflict: mootools extensions (if prototype and mootools should work on the same page)
powermail - 4
Screenshots Frontend Frontend: Show Form
Frontend: Form validation failed
powermail - 5
Frontend: Confirmation
Frontend: Thx message to user
powermail - 6
Frontend: Testform einpraegsam.net Example: http://www.einpraegsam.net/fachgebiete/typo3-extensions/powermail.html
powermail - 7
Frontend: Mailform wunschtacho.de Example: http://www.wunschtacho.de/support/kontakt.html
powermail - 8
Frontend: Just another screenshot (form with tt_content inside)
powermail - 9
Frontend: Contact form used by conject
Example: http://www.conject.com/de/unternehmen/kontakt.html
powermail - 10
Frontend: Support contact form to Zoomin Support
Used with wt_calculating_captcha to fight spam
powermail - 11
Frontend: Using multiple pages via JS
Searching for new screenshots Do you have a cool homepage with powermail inside? If you want to support powermail, just send us a screenshot or write me an email: alexander.kellner@einpraegsam.net
powermail - 12
Backend Module Backend: Powermail list
Backend: Define some fields
powermail - 13
How to use quickly Standard: Use IRRE ●
Import from online repository
●
Reload backend (you will see a new item in the menu “Powermail”)
●
Enter a new page record on any normal page and choose the powermail plugin (see below for a detailed manual), there you can define your fieldsets and fields
●
That's all!
●
NOTE: If you want to use IRRE, ensure that your server provides long POST variables (maybe it's useful to increase POST memory size on the server)
Without IRRE (TYPO3 < 4.1 or IRRE deactivated) ●
Import from online repository
●
Reload backend (you will see a new item in the menu “Powermail”)
●
Enter a new page record and choose the powermail plugin (without IRRE you cannot enter some fieldsets or fields)
●
Add one or more new content elements to the page: fieldset (set relation to the powermail plugin)
●
Add one or more new content elements to the page: field (set relation to the fieldset)
●
That's all!
Small video tutorial
http://www.einpraegsam.net/fachgebiete/typo3-extensions/powermail-video.html
powermail - 14
Plugin Configuration Add a new content item
General: Enter a header
This fields are similar to the standard text plugin (header, start and stop time, frame, language...) (see TYPO3 documentation for more information)
powermail - 15
Formdata: Main settings
●
Formtitle: Enter a title for the whole form (only used intern)
●
Save mails in page: You can choose a page where your mails should be saved (can also set via constants)
●
Activate confirmation page: If checked there will be a confirmation page after form-submit (like: are your values ok?)
●
Multiple steps: ●
Single step: The whole form is shown on one page (All fieldsets will be shown)
●
Multiple steps (JS): Each fieldset (see below) is an own page. Switch between pages via Javascript
●
Multiple steps (PHP): Each fieldset (see below) is an own page. Swich between pages via HTML/PHP
powermail - 16
Fields: Create new Fieldsets (pages)
●
Create new Fieldsets: You can create more pages (fieldsets), if you want to use the moresteps function. Every step is a fieldset.. It's also usefull to show fields separated in different fieldsets on one page – so you can use more than only one fieldset. NOTE: You need to choose min. 1 fieldset for every form.
●
Preview: This iframe previews the your frontend at once, so you can see your changes. NOTE: You can deactivate this iframe in the extension manager (maybe faster working possible)
powermail - 17
Fields: Add fields (IRRE)
●
Fieldset Title: Enter a title for your fieldset
●
Fieldset Hide: You can disable the complete fieldset if you want
●
Fieldset Starttime: Enter a starttime for the complete fieldset
●
Fieldset Endtime: Enter a stoptime for the complete fieldset
●
Fieldtype: Choose any fieldtype (textfield, textarea, selectbox, checkbox, radiobutton, submit, reset, text, pagecontent, html, password, file upload, hidden, datetime, date, time, button, graphicsubmit, countryselect) / NOTE: See a detailed description below
●
Create new Fields: You have to enter your fields (like name and email) powermail - 18
●
Field Title: Enter a title for your field (title is listed as form label)
●
Field Hide: You can disable the current field
●
Field Starttime: Enter a starttime for this field
●
Field Stoptime: Enter a stoptime for this field
●
Settings (Text field) Size: If you want to enter a size. Alternative you can set the width and height via CSS
●
Settings (Text field) Max. Length: Set max. length for textfiels
●
Settings (Text field) Read only: Field is set to read only
●
Settings (Text field) Mandatory field: Field is obsolete
●
Settings (Text field) Default value: Choose a value to prefill the textfield
●
Settings (Text field) Validate this field for: You can activate a js validation (see below)
●
Settings (Text field) Name for Templates: If you want to use this value in any template, use this code
●
Settings (Text field) Field example: There is an example picture of the current field
●
Description: Enter an optional description to show a css tooltip in frontend or an additional label NOTE: CSS tooltip will be used if you choose the default css template (include via static templates)
●
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 allowed fe_user fields via Ext Manager
NOTE: Different fields have different setting possibilities (see below for details)
powermail - 19
Fields: Add fields (without IRRE)
If IRRE is disabled (TYPO3 < 4.1) or manually, you have to add the relation manually: ●
Add a new content element (powermail) if not yet done
●
Use “create new record” to add a fieldset manually (enter the relation to the powermail content on the same page)
●
Use “create new record” to add a field manually (enter the relation to the powermail fieldset on the same page)
NOTE: Different fields have different setting possibilities (see below for details)
powermail - 20
Fields: Overview Title:
Explanation:
Example Output:
Category:
Textfield
Simple text fields (one line)
<input type=”text” />
STANDARD
Textarea
Text fields with more lines
<textarea>text</textarea>
STANDARD
Select box
Selector box (dropdown)
<select><option>1</option></select>
STANDARD
Checkbox
Checkbox
<input type=”checkbox” />
STANDARD
Radio Button
Radio buttons
<input type=”radio” />
STANDARD
Submit Button
Submit button
<input type=”submit” />
STANDARD
Captcha Request
Captcha picture with input field to validate a human entry (captcha or sr_freecap needed)
<img src=”captcha.php” /><input type=”text” />
EXTRA
Reset Button
Reset buttons
<input type=”reset” />
EXTRA
Show some text
Enter a text and show it in the frontend
Text blabla
EXTRA
TYPO3 page content
Show any TYPO3 page content
<p class=”bodytext”>blabla</p>
EXTRA
Enter your own html code
Enter your html code
<span style=”color: red”>bla</span>
EXTRA
Password field
Password field
<input type=”password” />
EXTRA
File upload
Standard upload field for files
<input type=”file” />
EXTRA
Hidden field
Hidden value
<input type=”hidden” />
EXTRA
Date and time field Text field with a javascript calendar
<input type=”text” /><script ...>...</script>
EXTRA
Date field
Text field with a javascript calendar
<input type=”text” /><script ...>...</script>
EXTRA
Button
Simple a button without a function (maybe usefull for a javascript)
<input type=”button” />
EXTRA
Graphic as submit
Submit Image
<input type=”image” />
EXTRA
Country selection
Selector box with countries (static_info_tables needed)
<select><option>Germany</option>...</select> EXTRA
Add typoscript object
Output any value from your typoscript
Any value from typoscript
EXTRA
Multiple upload
Multiple upload fields are part of the extension powermail_mul (enables upload of more files)
<input type=”file” />...
EXTENSIO NS
powermail - 21
Fields: Explanation Fields: Add textfield
●
Size: Set field size (size=””) - if you want you can activate style for input fields via constants (style=”width: px”)
●
Max. Lengh: Set maximum length of signs in this field (maxlength=””)
●
Read only: Check to be a read only field (readonly=”readonly”)
●
Mandatory field: This field is a needed field – no db and no email without this field (check with JavaScript and PHP)
●
Default value: Prefill field with a value (value=””)
●
Validate this field for: This is a javascript validation –
check for email addresses (like test@test.com)
–
check for URL (like http://www.test.de)
–
check for digits only (like 3.6)
–
check for digits without comma and point (like 3)
–
check for letters only (a-z)
–
check for letters and digits only (a-z and 0-9)
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
powermail - 22
Fields: Add textarea
●
Number of columns: Set columns (cols=””) - if you want you can activate style via constants (style=”width: px;”)
●
Number of rows: Set rows (rows=””) - if you want you can activate style via constants (style=”height: px;”)
●
Read only: Set field to a read only field (readonly=”readonly”)
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Default value: Prefill field with a value (<textarea>My value</textarea>)
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
powermail - 23
Fields: Add selectbox
●
Enter your options: Every line is a new option for the selececterbox like red, green and blue / - If you want different label and values, you can write: label | value / - If you're going to use the same label and value, you can write: value
●
Size: Set field size (size=””)
●
Multiple seletc allowed: Allow more than one value to select (multiple=”multiple”)
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Name for Templates: If you want to use this value in any template, use this code
Option examples for selectorbox Line Example for options
Explanation of left example (html code in frontend)
1
Red
<option value="red">red</option>
2
Red | 1
<option value="1">Red</option>
3
Blue |
<option value="">Blue</option>
4
Black | black | *
<option value="black" selected="selected">Black</option>
5
White | | *
<option value="" selected="selected">White</option>
powermail - 24
Fields: Add checkbox
●
Enter your options: Every line is a new option for the selececterbox like red, green and blue / - If you want different label and values, you can write: label | value / - If you're going to use the same label and value, you can write: value
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Name for Templates: If you want to use this value in any template, use this code
Option examples for checkboxes Line Example for options
Explanation of left example (html code in frontend)
1
Red
<label>Red</label><input value="Red" />
2
Red | 1
<label>Red</label><input value="1" />
3
Blue |
<label>Blue</label><input value="" />
4
Black | black | *
<label>Black</label><input value="black" checked="checked" />
5
White | | *
<label>White</label><input value="" checked="checked" />
powermail - 25
Fields: Add radiobutton
●
Enter your options: Every line is a new option for the selececterbox like red, green and blue / - If you want different label and values, you can write: label | value / - If you're going to use the same label and value, you can write: value
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Name for Templates: If you want to use this value in any template, use this code
Option examples for radiobuttons Line Example for options
Explanation of left example (html code in frontend)
1
Red
<label>Red</label><input value="Red" />
2
Red | 1
<label>Red</label><input value="1" />
3
Blue |
<label>Blue</label><input value="" />
4
Black | black | *
<label>Black</label><input value="black" checked="checked" />
5
White | | *
<label>White</label><input value="" checked="checked" />
powermail - 26
Fields: Captcha request
●
Description: Write your own description in front of the captcha field
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
●
NOTE: First of all you have to install sr_freecap, captcha, jm_recaptcha or wt_calculating_captcha and choose (via constants) which one should be used (Standard: sr_freecap)
Fields: Add submitbutton
●
Field example: You will see a picture example of the chosen field
●
NOTE: To enter the label (value) of the button, use the label of the field
powermail - 27
Fields: Add resetbutton
●
Refresh page and clear whole session: Use this checkbox if a user clicks the button, the page will be refreshed without session values
●
Field example: You will see a picture example of the chosen field
●
NOTE: To enter the label (value) of the button, use the label of the field
Fields: Add text
●
Default value: Enter your Text here (you can define which html signs are allowed via ts constants)
●
Send this content via email: If you want to send this content via email, check this
●
Field example: You will see a picture example of the chosen field
●
Name for Templates: If you want to use this value in any template, use this code
●
NOTE: Send this content via email is not yet finished programed at this time!
powermail - 28
Fields: TYPO3 pagecontent
●
Default value: Choose any tt_content uid to show in frontend
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
Fields: HTML code
●
Default value: Enter your HTML code here
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
●
NOTE2: Maybe removeXSS disables all features – you can disable this function via constants
powermail - 29
Fields: Add a password field
●
Size: Set field size (size=””) - if you want you can activate style via constants (style=”width: px;”)
●
Max. Lengh: Set maximum length of signs in this field (maxlength=””)
●
Read only: Set field to a read only field (readonly=”readonly”)
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Field example: You will see a picture example of the chosen field
●
Name for Templates: If you want to use this value in any template, use this code
●
NOTE: Password fields are described in selfhtml.org
Fields: Upload field
●
Size: Set field size (size=””) (we suggest you to use CSS for field width)
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
●
NOTE: You can set the upload folder via constants (see below) – only the filename will be written
Fields: Hidden field
●
Default value: Set your value for this field (value=””)
●
Name for Templates: If you want to use this value in any template, use this code
●
NOTE: Hidden fields are useful, if you want to send a time or the user ip or anything to the receiver. You can add some hidden fields and fill them via ts (how to fill fields via ts is descripted below in this manual)
powermail - 30
Fields: Date and Datetime field
●
NOTE: This fields are only supported if you have installed the extension date2cal!
●
Default value: Set a default value (you can use the date2cal icon for better writing in backend and frontend
●
Size: Set field size (size=””) (we suggest you to use CSS for field width)
●
Read only: Set field to a read only field (readonly=”readonly”)
●
Mandatory field: This field is a needed field – no db and no email without this field
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
Fields: Button field
●
Default value: Set a default value
●
Note: Button fields are without any function (if you don't use Javascript with this)
●
Field example: You will see a picture example of the chosen field
●
Note: JS implementation is not finished programed at this time
powermail - 31
Fields: Graphic submit field
●
Grafic source: Enter a source for the graphic submit button (like fileadmin/test.jpg)
●
Alternative Text for image: use the alt tag (alt=””)
●
Field example: You will see a picture example of the chosen field
●
NOTE: Imagebuttons are described in selfhtml.org
powermail - 32
Fields: Countryselect field
●
Preselect country: Select one country to be preselected in frontend
●
Only show this countries: If you chose some countries – ONLY this countries will be shown
●
Show list without this countries: Show whole list without this selected countries (Don't works with “Only show this countries”)
●
Mandatory field: Make this field as a mandatory field
●
Add Countryzone select: Add countryzone in addition if chosen country has countryzones (install Extension xajax before!)
●
Name for Templates: If you want to use this value in any template, use this code
●
Field example: You will see a picture example of the chosen field
●
NOTE1: This fields are only supported if you have installed the extension static_info_tables! powermail - 33
â&#x2014;?
NOTE2: If you want a localized version, you can use (e.g.) static_info_tables_de (or fr etc...) (TS example: config.language = de for staticinfo_tables_de)
â&#x2014;?
NOTE3: You can use utf8_encode or utf8_decode via constants
powermail - 34
Fields: Typoscript field
●
Typoscript object: enter an typoscript element for your output (define this element via typoscript setup)
●
Field example: Example for a typoscript setup
●
NOTE: You can use every object from typoscript for this kind of fields (maybe it's interesting to add a userfunc for some special fields, etc...)
.field enables some values from powermail: Name
Description
Example
uid
UID of current powermail field if you want to use this uid in an userFunc
33
label
Label of current powermail field (which was set in the backend)
Function
ttcontent_uid UID of content element if you need this uid in your userFunc
511
Example for using in your own userFunc: lib.Func = USER lib.Func.userFunc = yourclass->yourfunction # give values to userFunc lib.Func.userFunc.value1 = staticvalue lib.Func.userFunc.value2.field = uid lib.Func.userFunc.value3.field = label
powermail - 35
Sender: Sender email and subject
●
Senders email address: Choose any of your fields to mark as sender email (This is needed to send an email to the sender, This field will be checked if the value is really an email address, If empty default sender E-Mail will be used – see constants)
●
Senders name: Choose some of your fields (e.g. firstname and lastname) to mark as sender name NOTE: If you choose more than only one field, fields will seperated with space NOTE2: If empty senders E-Mail will be shown as name
●
Subject for sender's mail: Choose any email subject / NOTE: You can use markers in email subject to get a subject like “Thank you Alex for your mail”
●
Email-Text for sender: You can use this RTE to write the mail content for the sender
●
NOTE: This RTE is substituted with tmpl_emails.html / You can use all markers in the RTE and the HTML template!
powermail - 36
Recipients: Receiver email and subject
●
Subject for recipient's mail: Choose an email subject for the receiver / NOTE: You can use markers in email subject to get a subject like “New mail from Alex” / NOTE2: Dynamictyposcript enabled in email subject (see information below)
●
Recipient: Enter some email receivers (separated with comma, semicolon or with a new line) / - If you want to enter a sender name, just write: name \n email1 \n email2 \n email3 ... / - You can also use markers in this field instead of an email: test@test.de, ###UID3### / - Dynamictyposcript enabled in email subject (see information below)
●
Table of recipients: Choose any database table, if you want to send to one or more (e.g. Backend or Frontend) users
●
Recipients from upper table: If you have chosen any db table, select some email addresses
●
Alternative SQL-Query: You can enter an own SQL query to get your own email addresses - Example: SELECT email FROM fe_users WHERE pid = 12 - You can also use markers in the query like SELECT email FROM fe_users WHERE uid = ###UID5### - Another example: SELECT email FROM tt_address WHERE uid IN (###UID3###) - Not allowed strings: UPDATE, TRUNCATE, DELETE, INSERT, REPLACE, DO, HANDLER, LOAD, ALTER, CREATE, DROP, RENAME, DESCRIBE, USE, BEGIN, COMMIT, ROLLBACK, LOCK, SET, REVOKE, GRANT
●
Email-Text for receiver: You can use this RTE to write the mail content for the receiver
●
NOTE: This RTE is substituted with tmpl_emails.html / You can use all markers in the RTE and the HTML template!
●
NOTE2: Priority of recipient fields: Recipient, Table choose, SQL query
powermail - 37
Answerpage: Thx message
●
Response Text: This text is shown after submit
●
Auto-redirect after confirmation-page: You can forward the user after submit to any intern or extern URL or file (instead of using the message)
●
NOTE: This RTE is substituted with tmpl_thx.html / You can use all markers in the RTE and the HTML template!
Access: Form access
●
Similar to the default content element text: Hide, start, stop, access (see TYPO3 documentation for more information)
powermail - 38
powermail settings in the Extension Manager Property:
Description:
Default
Data type:
useIRRE
Inline Relational Record Editing (IRRE) to enter your fieldsets and fields just by opening only one content. If you want to use the listview and manually enter the relation between tt_content and fieldsets and fields you can disable IRRE (IRRE is only activated if you're using TYPO3 > 4.1)
1
boolean
usePreview
Preview window active: Activate frontend preview window under field definitions (iframe with frontend view of current page). Deactivate for a faster work with powermail.
1
boolean
TabDividers
Activate tab dividers: Powermail uses tab dividers in backend so every 1 category seems to be a new site (like General, Formdata, Fields, Sender, Recipients, Answerpage and Access). You can disable tabdividers if you want to show all stuff on only one page or if there are problems with tab dividers and other extensions.
boolean
feusersPrefill
A dropdown is shown in the backend which enables to prefill any field with the value of a current logged in feuser. You can increase or decrease the fe_user field values in the dropdown menu. Just use the wanted fieldnames of the fe_user table in a comma-separated list.
name, address, text telephone, fax, email, zip, city, country, www, company
disableIPlog
Deactivate IP logging: If you don't want to save the sender IP address in the database, you can use this checkbox.
0
boolean
disablePMRealU rlConfig
Deactivate config for Realurl: Powermail uses an automatic realurlconf array for type=3131. You can disable this feature if you want to use your own configuration or you don't need a realurl configuration. (see ext_localconf.php for configuration details)
0
boolean
disableStartSt op
Deactivate Start- and Stoptime: If there are problems with adding fields, this could be caused by date2cal. You can disable start- and stoptime for fields and fieldsets with this flag.
0
boolean
powermail - 39
Constants for powermail
You can change your constants with the constant editor Property:
Description:
Default
Data type:
template.formWrap
Template File formwrap: HTML-template file for formwrap
EXT:powermail/templates/tmpl_for file mwrap.html
template.fieldWrap
Template File fieldwrap: HTML-template file for fieldwraps
EXT:powermail/templates/tmpl_fie file ldwrap.html
template.thxMessage
Template File thx-message: HTML-template file for thx message after submit
EXT:powermail/templates/tmpl_th x.html
file
template.emails
Template File emails: HTML-template file for emails messages (sender and receiver)
EXT:powermail/templates/tmpl_e mails.html
file
template.confirmation
Template File confirmation: HTML-template file to change html code of the confirmation page
EXT:powermail/templates/tmpl_co file nfirmation.html
template.all
Template File ALL marker: HTML-template file if you want to use the marker ###POWERMAIL_ALL### here you can set the HTML code for each line
EXT:powermail/templates/tmpl_all file .html
template.mandatory
Template File mandatory: HTML-template file for mandatory page (if any mandatory field was not filled)
EXT:powermail/templates/tmpl_m andatory.html
css.MultipleJS
Multiple JS CSS: CSS file for multiple page via JS (see EXT:powermail/css/multipleJS.css file EXT:powermail/css/multipleJS.css for an example)
template.multiple JS
Template File multiple: HTML-template file for multiple pages (see EXT:powermail/templates/tmpl_multiplejs.html for an example)
EXT:powermail/templates/tmpl_m ultiplejs.html
file
allow.email2receiver
Email to receiver active: You can disable emails to receiver
1
boolean
allow.email2sender
Email to sender active: You can disable confirmation emails to sender
1
boolean
allow.dblog
Log every mail in db: Disable logging, if you want only to get mails
1
boolean
PID.dblog
PID where to save logfiles: Enter a Page ID where the form values should be saved to the db (empty: same PID as form PID)
file
boolean
emailformat.recipient_ Receivermail HTML or Plain: If you use this value, mail emails to the receiver will be send in html or plaintext or both formats (both, html or plain)
both
text
emailformat.sender_mai Sendermail HTML or Plain: If you use this value, l emails to the sender will be send in html or plaintext or both formats (both, html or plain)
both
text
enable.unique
Onetime filling: Checks if a field has already this entry (maybe email address), IP check is also possible if ip addresses will be logged) - (e.G. uid11,ip checks for unique IP and unique entry in field uid11)
email.noreply
Standard sender address: This email address is important, if no sender field was chosen in the backend, so this email address will be used for the sender (###DOMAIN### will be replaced with current domain like test.com)
noreply@###DOMAIN###
text
email.checkMX
Check MX record of sender mail: This is a small test, if senders email address exists (MX record check of domain)
1
boolean
email.overwritesender
E-Mail sender address: If you add an email address in this field, this email address will be used for the user mail as senderemail and returning email address. Normally the main receiver address is used as sender for the returning mail, but you can overwrite this if you want (e.G. mail@mail.com) Note - if you don't use a correct mail address, this field will be ignored!
hiddenfields.show
Don't show hiddenfield values: Show or hide values of hiddenfields on recipient mail, confirmation mail to sender, thx message page, confirmation message page, mandatory page (default 1,0,0,0,1)
1,0,0,0,1
text
markerALL.hideLabel
Hide label if empty value: This option hides labels if its value is empty in marker ###POWERMAIL_ALL###
0
boolean
boolean
text
powermail - 40
Property:
Description:
Default
Data type:
markerALL.notIn
Exclude fields from marker ALL: Exclude some fields from marker ###POWERMAIL_ALL### (e.g.: ###UID14###,###UID22### or UID14,UID22)
form.method
Form method: use post or get as post format (details see on selfhtml.org)
post
text
format.datetime
Frontend datetime format if datetime field is in use (only needed if you use the extension date2cal)
%H:%M %d-%m-%Y
text
format.date
Frontend date format if date field is in use (only needed %d-%m-%Y if you use the extension date2cal)
text
label.allowTags
Allowed tags in labels: Allow some tags for label fields
<p><br><b><strong><a>
text
html.removeXSS
RemoveXSS for html fields: (de)activate security function to disable Cross Site Scripting with the html field (removeXSS on or off)
1
boolean
countryselect.charset
Charset for countryselector: You can use the php functions utf8_encode or utf8_decode to change the countryselector output
description.wrap
Description wrap: Define the wrap for the field descriptio to enable a css tooltip or simply a text, etc...
<a href="#"><img text src="/typo3conf/ext/powermail/img /icon_info.gif" alt="Description" class="icon icon_info" style="border: none;" /><dfn>| </dfn></a>
mandatory.symbol
Add symbol for mandatory fields: If any field is a mandatory field, add this at the end of the label
*
text
mandatory.wrap
Wrap mandatory symbol: You can wrap the mandatory symbol with any html code
<span class="powermail_mandatory">| </span>
text
captcha.use
Use captcha extension: If you have installed sr_freecap sr_freecap and captcha, you can select which extension should be used (sr_freecap, captcha, recaptcha, wt_calculating_captcha)
pagebrowser.wrap
Wrap pagebrowser: If you use multiple pages (PHP), you can show the current page like 1 of 3
<p wrap class="powermail_pagebrowser">| </p>
upload.folder
Folder for uploaded files: If you are using min. one upload field in frontend, you can change the folder where the uploaded file is safed
uploads/tx_powermail/files/
upload.file_extensions Allow files for upload: If you are using min. one upload field in frontend, you can set the allowed extension of this files
text
options[,utf8_e ncode,utf8_de code]
option
text
jpg,gif,png,tif,txt,doc,xls,sxw,html,s text wf
upload.filesize
Allow filesize for upload: If you are using min. one 1000 upload field in frontend, you can set the allowed filesize of the files (in kB)
int
upload.attachment
Upload and attach: If checked, all files will be sent as an attachment to the receiver (if disabled, files will only stored on server)
1
boolean
clear.session
Clear Session: Check if session should be cleared after 0 submit (emails sent)
boolean
libraryToUse
Javascript Library: Set to either "mootools" or "prototype" to choose a javascript library for frontend validation (choose mootools, if you already use an extension which use mootools on the same page)
prototype
options[mooto ols,prototype]
js.mandatorydivclass
Mandatory JS DIV class: Enter your own css class for the mandatory javascript div layer (div layer which is shown, if a field was not filled, etc...)
powermail_mandatory_js
text
js.onfocus
OnFocus JavaScript: (De)activate onfocus javascript in 1 fields - removes standard value of (e.g. text-) fields onclick, so the user can click and begin to write
boolean
field.checkboxJS
Hiddenfields for checkboxes: (De)activate the hiddenfields for checkboxes. If only checkboxes are in use, there is a problem to enable a checkbox, submit, go back and deaktivate checkbox and submit again the value ist still set. To fix this, you can use a JavaScript with hiddenfields (set by default).
boolean
1
powermail - 41
Property:
Description:
Default
Data type:
rte.parse
Use rteCSStext function: Text from rich text editor will be parsed automaticly for emails and thx message (every line gets an p tag, etc...). Disabling could be useful if you want to use only plaintext mails.
1
boolean
label.parse
Use labelparse function: Labels could be used with TYPO3 LINK syntax (e.g. 1)
1
boolean
input.style
Style instead of size: Using a local stylesheet in the input fields and in all textareas instead of size or rows and cols - the value in the flexform should be in pixel (e.g. 1)
0
boolean
powermail.charset
Charset for powermail: You can use the php functions utf8_encode or utf8_decode to change the whole powermail output
options[,utf8_e ncode,utf8_de code]
barrier-free.tabindex
Manual sorting of tabindex: Powermail adds tabindex to the fields (automaticly via sorting). If you want to use another order, you can change the order with this settings (e.g. uid5,uid4,uid3_0,uid3_1 or 5,4,6,4_0,4_1,3)
text
barrier-free.accesskey Adding accesskeys: You can add some accesskeys to the fields if you want (e.g. uid1:f,uid3:g or 1:a,2:b,3_1:c)
text
geoip.file
text
Add geoip file: If you want to use geoip, you can enter the relative path to the .dat file for geo info (e.g. fileadmin/geoinfo.dat)
geoip.addValuesToMarke Add geo info to marker ALL: The most people don't rALL want to use single markers, they just use ###POWERMAIL_ALL###, if you want to add some geoinfo, you can add those to the all marker (e.g. countryName, city) (available keys - ip, countryCode, countryName, region, city, zip, lng, lat, dmaCode, areaCode)
text
debug.output
options[,all,ses sion,email,db]
Activate debug output: Possibility to print a debug output over the html. All displays session and email array, Session prints only session array, Email prints only email array (empty or all or session or email) Note: Prefix for all powermail constants: plugin.powermail.
powermail - 42
Setup for powermail Note: The most settings are possible with constants editor # POWERMAIL PLUGIN # plugin.tx_powermail_pi1 { # --- CONSTANTS --template.fieldWrap = {$plugin.powermail.template.fieldWrap} template.formWrap = {$plugin.powermail.template.formWrap} template.thxMessage = {$plugin.powermail.template.thxMessage} template.emails = {$plugin.powermail.template.emails} template.confirmation = {$plugin.powermail.template.confirmation} template.all = {$plugin.powermail.template.all} template.mandatory = {$plugin.powermail.template.mandatory} template.MultipleJS = {$plugin.powermail.template.MultipleJS} css.MultipleJS = {$plugin.powermail.css.MultipleJS} emailformat.recipient_mail = {$plugin.powermail.emailformat.recipient_mail} emailformat.sender_mail = {$plugin.powermail.emailformat.sender_mail} # --enable.unique = {$plugin.powermail.enable.unique} email.noreply = {$plugin.powermail.email.noreply} email.checkMX = {$plugin.powermail.email.checkMX} email.overwritesender = {$plugin.powermail.email.overwritesender} hiddenfields.show = {$plugin.powermail.hiddenfields.show} markerALL.hideLabel = {$plugin.powermail.markerALL.hideLabel} markerALL.notIn = {$plugin.powermail.markerALL.notIn} PID.dblog = {$plugin.powermail.PID.dblog} form.method = {$plugin.powermail.form.method} format.datetime = {$plugin.powermail.format.datetime} format.date = {$plugin.powermail.format.date} label.allowTags = {$plugin.powermail.label.allowTags} html.removeXSS = {$plugin.powermail.html.removeXSS} countryselect.charset = {$plugin.powermail.countryselect.charset} description.wrap = {$plugin.powermail.description.wrap} mandatory.symbol = {$plugin.powermail.mandatory.symbol} mandatory.wrap = {$plugin.powermail.mandatory.wrap} captcha.use = {$plugin.powermail.captcha.use} pagebrowser.wrap = {$plugin.powermail.pagebrowser.wrap} upload.folder = {$plugin.powermail.upload.folder} upload.file_extensions = {$plugin.powermail.upload.file_extensions} upload.filesize = {$plugin.powermail.upload.filesize} upload.attachment = {$plugin.powermail.upload.attachment} clear.session = {$plugin.powermail.clear.session} js.mandatorydivclass = {$plugin.powermail.js.mandatorydivclass} js.onfocus = {$plugin.powermail.js.onfocus} field.checkboxJS = {$plugin.powermail.field.checkboxJS} rte.parse = {$plugin.powermail.rte.parse} label.parse = {$plugin.powermail.label.parse} input.style = {$plugin.powermail.input.style} powermail.charset = {$plugin.powermail.powermail.charset} barrier-free.tabindex = {$plugin.powermail.barrier-free.tabindex} barrier-free.accesskey = {$plugin.powermail.barrier-free.accesskey} geoip.file = {$plugin.powermail.geoip.file} geoip.addValuesToMarkerALL = {$plugin.powermail.geoip.addValuesToMarkerALL} debug.output = {$plugin.powermail.debug.output} # Some settings for Emails email { # Settings for mail to the default receiver(s) recipient_mail { # Reply name reply.name = TEXT reply.name.value = # Reply email reply.email = TEXT reply.email.value = # Add some attachments to the email (wrap every attachment with , if you want to add more than only one) addAttachment = COA addAttachment { 10 = TEXT #10.value = fileadmin/pic.jpg 10.wrap = |, } } # Settings for mail to the user powermail - 43
sender_mail {
# Reply name reply.name = TEXT reply.name.value = # Reply email reply.email = TEXT reply.email.value = # Add some attachments to the email (split every attachment with , if you want to add more than only one) addAttachment = COA addAttachment { 10 = TEXT #10.value = fileadmin/pic.jpg 10.wrap = |, }
}
}
# Enable, Disable email to sender or receiver or db saving allow { # Enable or disable email to receiver (main mail) email2receiver = TEXT email2receiver.value = {$plugin.powermail.allow.email2receiver} # Enable or disable email to sender email2sender = TEXT email2sender.value = {$plugin.powermail.allow.email2sender}
}
# Enable or disable saving values to database dblog = TEXT dblog.value = {$plugin.powermail.allow.dblog}
# --- EXAMPLE CODE SECTION --# Manipulation of values in every mode (email to receiver, db log, etc..) mode {
# # # # # #
# # #
# # #
# # #
# # #
# Manipulation of values in dblog dblog { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b>
}
uid998_0 = TEXT uid998_0.field = uid998_0 uid998_0.wrap = <b>|</b>
# Manipulation of values for email to receiver (main mail) recipient_mail { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) sender_mail { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) thx { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) confirmation { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) mandatory { powermail - 44
# # #
}
uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b>
}
# #
# prefilling form fields (example) prefill { # fill field uid997 with a static text uid997 = TEXT uid997.value = example value
# #
# fill field uid998 with current timestamp uid998 = TEXT uid998.data = date:U
# # #
# fill field uid998 with current date like "Date: 20.01.2009" uid996 = TEXT uid996.data = date:U uid996.strftime = Date: %d.%m.%Y
# #
# fill field uid995 with IP address of the user uid995 = TEXT uid995.data = getIndpEnv:REMOTE_ADDR } # adding (or changing) flexible locallang markers in any HTML template or RTE field (example) _LOCAL_LANG.en { locallangmarker_yourvalue = this is a new text } # adding flexible typoscript markers in any HTML template or RTE field (example) dynamicTyposcript { yourmarker = TEXT yourmarker.value = This is a new text }
# # filled) #
# extern db entry (example for tt_adress) dbEntry { # enable or disable db entry for tt_address tt_address._enable = TEXT tt_address._enable.value = 1 # write only if field email is not yet filled with current value (update - update values of existing entry) (none - no entry if field is tt_address._ifUnique.email = none
# #
# add mm relation to uid 2 of tt_address_group (via mm table) tt_address._mm = COA tt_address._mm.10 = COA # 1 is always the mm table tt_address._mm.10.1 = TEXT tt_address._mm.10.1.value = tt_address_group_mm # 2 is always the other table tt_address._mm.10.2 = TEXT tt_address._mm.10.2.value = tt_address_group # 3 is always the uid of the other table to get a relation to this (in this case uid2 of tt_address_group) tt_address._mm.10.3 = TEXT tt_address._mm.10.3.value = 2
# #
# table "tt_address" with field "email" is a static value => alexander.kellner@einpraegsam.net tt_address.email = TEXT tt_address.email.value = alexander.kellner@einpraegsam.net
# #
# table "tt_address" with field "pid" is the current pid (e.g. 12) tt_address.pid = TEXT tt_address.pid.field = uid
# #
# table "tt_address" with field "tstamp" is the current time as timestamp (like 123456789) tt_address.tstamp = TEXT tt_address.tstamp.data = date:U
# # #
# table "tt_address" with field "address" is the current formatted time (like "Date: 20.01.2009") tt_address.address = TEXT tt_address.address.data = date:U tt_address.address.strftime = Date: %d.%m.%Y
# # # # # #
# table "tt_address" with field "name" is the value from powermail (tt_content uid 88) field uid18 (###uid18###) powermail - 45
# #
tt_address.name = TEXT tt_address.name.data = TSFE:fe_user|sesData|powermail_88|uid18
# #
# table "tt_address" with field "last_name" is the value from powermail (tt_content uid 88) field uid18 (###uid18###) tt_address.last_name = TEXT tt_address.last_name.data = TSFE:fe_user|sesData|powermail_88|uid18
# table "tt_address" with field "company" is the value from powermail (tt_content uid 88) field uid21_1 (###uid21_1###) (e.g. a checkbox value) # tt_address.company = TEXT # tt_address.company.data = TSFE:fe_user|sesData|powermail_88|uid21|1 } }
# ---------------------- Additional Typoscript ---------------------
# Add Javascript files to page header if a powermail plugin is on current page lib.powermail_dynJavascript = TEXT lib.powermail_dynJavascript { wrap = <script src="|" type="text/javascript"></script> typolink.parameter.dataWrap = {TSFE:id},3131 typolink.returnLast = url } # userFunc to check if powermail is on current page # powermail is on current page and prototype should be used [userFunc = user_powermailOnCurrentPage()] && [globalVar = LIT:prototype = {$plugin.powermail.libraryToUse}] page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js [end] # powermail is on current page and mootools should be used [userFunc = user_powermailOnCurrentPage] && [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}] page.includeJS.file31312 = EXT:powermail/js/mootools/mootools-1.2.1-packed.js [end] page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js page.headerData.31310 < lib.powermail_dynJavascript seite.headerData.31310 < page.headerData.31310 seite.includeJS.31311 < page.includeJS.file31311 seite.includeJS.31312 < page.includeJS.file31312 seite.includeJS.31313 < page.includeJS.file31313 seite.includeJS.31314 < page.includeJS.file31314
# TypeNum 3131 for field validation via prototype (current page with &type=3131 with Javascript) powermailJS = PAGE powermailJS { typeNum = 3131 config { disableAllHeaderCode = 1 disablePrefixComment = 1 xhtml_cleaning = 0 admPanel = 0 } 10 = TEMPLATE 10 { template = FILE template.file = EXT:powermail/js/mandatoryjs/validation.js subparts.REQUIRED = TEXT subparts.REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_required subparts.VALIDATE_REQUIRED = TEXT subparts.VALIDATE_REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_number subparts.VALIDATE_DIGITS = TEXT subparts.VALIDATE_DIGITS.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_digits subparts.VALIDATE_ALPHA = TEXT subparts.VALIDATE_ALPHA.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_alpha subparts.VALIDATE_ALPHANUM = TEXT subparts.VALIDATE_ALPHANUM.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_alphanum subparts.VALIDATE_DATE = TEXT subparts.VALIDATE_DATE.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_date powermail - 46
subparts.VALIDATE_EMAIL = TEXT subparts.VALIDATE_EMAIL.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_email subparts.VALIDATE_URL = TEXT subparts.VALIDATE_URL.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_url subparts.VALIDATE_DATE_AU = TEXT subparts.VALIDATE_DATE_AU.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_date_au subparts.VALIDATE_CURRENCY_DOLLAR = TEXT subparts.VALIDATE_CURRENCY_DOLLAR.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_currency_dollar subparts.VALIDATE_SELECTION = TEXT subparts.VALIDATE_SELECTION.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_selection subparts.VALIDATE_ONE_REQUIRED = TEXT subparts.VALIDATE_ONE_REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_one_required } }
powermail - 47
HTML template and markers example use Example for email for recipients
<!--###POWERMAIL_RECIPIENT_MAIL### start--> <p> ###POWERMAIL_LOCALLANG_EMAIL_RECEIVER###<br /> ###POWERMAIL_EMAILRECIPIENT_RTE###<br /> ###UID12### ###POWERMAIL_ALL### </p> <!--###POWERMAIL_RECIPIENT_MAIL### stop-->
###POWERMAIL_LOCALL Plugin search for a value from pi1/locallang.xml with the name ANG_EMAIL_RECEIVER# locallangmarker_email_receiver (you can overwrite the xml file or set your own text ## via TS setup â&#x20AC;&#x201C; see below)
That where your values:
###POWERMAIL_EMAILR This is a special marker for use in the email template. This marker will be filled with ECIPIENT_RTE### the backend RTE for receivers (NOTE: You can also use marker in the RTE fields)
New mail
###UID12###
Fill this marker with the value from the session
George Smith
###UID12_0###
If you use values in second level (like checkboxes with tx_powermail_pi1[uid3][0]) than you can use this marker. NOTE: If you want to display all values of the checkbox, simply use ###UID12###
Values: red, blue, green
###POWERMAIL_ALL### This marker shows all values of all fields. Helpful if you have a long form.
Name: George Prename: Smith Years: 34 Country: USA
###POWERMAIL_BASEUR This marker simply enters the base url like http://www.test.de (Helpful if you want to L### load graphics in the email from your website)
http://www.test.de
###FILE_0###
File_12345.jpg
Name of uploaded file
Changing (or adding new) flexible locallang markers in any html template or RTE field: HTML example
###POWERMAIL_LOCALLANG_CONFIRMATION_BACK### ###POWERMAIL_LOCALLANG_NEWLANGUAGEMARKER###
Typoscript example You can use this both locallang files for example in the html templates by using ###POWERMAIL_LOCALLANG_VALUE### plugin.tx_powermail_pi1._LOCAL_LANG.en { locallangmarker_confirmation_back = Go back locallangmarker_newlanguagemarker = This is a new marker text JSvalidation_label_required = Please fill this mandatory field!
} plugin.tx_powermail_pi1._LOCAL_LANG.de { locallangmarker_confirmation_back = Zum Formular locallangmarker_newlanguagemarker = Das ist ein neuer Marker Text JSvalidation_label_required = Dieses Feld ist ein Pflichtfeld! } # Only needed if JS language marker should be changed (Jsvalidation_label_...) powermailJS.10 < plugin.tx_powermail_pi1
Adding new flexible typoscript markers in any html template or RTE field: HTML example
###POWERMAIL_TYPOSCRIPT_YOURFIELD1### ###POWERMAIL_TYPOSCRIPT_YOURFIELD2### ###POWERMAIL_TYPOSCRIPT_YOURFIELD3###
Typoscript example
Add some new markers with all typoscript features (TEXT, IMAGE, COA, USER, etc...) you already know plugin.tx_powermail_pi1.dynamicTyposcript { yourfield1 = TEXT yourfield1.value = this is a text
powermail - 48
yourfield2 = TEXT yourfield2.field = uid
}
yourfield3 = USER yourfield3.userFunc = user_various->listContentRecordsOnPage
Explanation
Dynamic typoscript fields or dynamiclocallangmarker can be used in every HTML Template, in every RTE in the content element and in the subject or receiver field.
powermail - 49
Backend module Introduction
Powermail offers a backend module to view all mails in the database
●
Choose Powermail in the Web menu on the left site of the backend
●
Now you can choose any page of the pagetree
●
If the chosen page contents powermails, a list with mails is shown to you
●
You can filter the mails by using the two fields above the list (first field is the starttime, second field the endtime)
●
Export symbols: ●
Excel symbol: Export the current list to an xls file
●
CSV symbol: Generate and download a CSV file
●
HTML table symbol: Just generate a html table without any formats
●
Enable deleting of mails after export (or disabling)
powermail - 50
Define your export file as you want via tsconfig
Use tsconfig of the page where your powermails are listed, to manipulate the export file or the listing in the backend (see example)
Example
# set columns tx_powermail_mod1.export { number = # uid42 = Title uid43 = Prename uid44 = Lastname uid45 = Email date = Registration-Date time = Registration-Time } # set config tx_powermail_mod1.config { export.useTitle = 1 export.dateformat = d.m.Y export.timeformat = H:i list.perPage = 50 list.filterstart = 2008-04-01 00:00 list.filterend = 2008-12-01 00:00 list.dateformat = d.m.Y H:i }
Example file for tsconfig above #
Title
Prename
Lastname
Registration-Date
Registration-Time
1.
Dr.
Alex
Kellner
test@test.de
01.01.2009
12:23
Mischa
Heissmann
test@test.com
23.12.2208
16:11
2.
powermail - 51
Available markers for tsconfig Export settings (prefix: tx_powermail_mod1.export) Name
Explanation
What is this
Default if no tsconfig set
number
Just an ascending number
Field value
1
date
Registration date (format can be set â&#x20AC;&#x201C; see below)
Field value
1
time
Registration time (format can be set â&#x20AC;&#x201C; see below)
Field value
1
sender
Email of sender
Field value
1
senderIP
IP address of sender
Field value
1
recipient
Email of recipient
Field value
1
subject_r
Email subject to recipient
Field value
1
formid
Page ID where the form is in
Field value
1
content
Email content
Field value
0
UserAgent
UserAgent of sender
Field value
1
Referer
Referer of sender
Field value
1
SP_TZ
Location of sender
Field value
1
uid
This automaticly fills columns with ALL pivars
Field value
1
uid[NUMBER]
Define your own columns and use it like uid55
Field value
0
uid[NUMBER]_[NU MBER]
Define your own columns for values in second level (maybe checkboxes or multiple selections) like uid55_0 and uid55_1
Field value
0
Default if no tsconfig set
Configuration of export and list (prefix: tx_powermail_mod1.config) Name
Explanation
What is this
export.useTitle
Configure if title should be displayed in the first line of the export file (boolean)
Configuration 1 of export file
export.dateform at
Configure your wanted date format in the export file (see http://php.net/manual/function.date.php for details)
Configuration Y-m-d of export file
export.timeform at
Configure your wanted time format in the export file (see http://php.net/manual/function.date.php for details)
Configuration H:i:s of export file
list.perPage
Change the number of listed mails per page in the backendform (default: 100)
Configuration 100 of listing in backend
list.filterstar t
Set your own static filter starttime, if you want to show or hide some old mails (like: 2008-12-23 12:19)
Configuration [currentYea of listing in r]backend [currentMon th]-01 00:00
list.filterend
Set your own static filter endtime, if you want to show or hide some old mails (like: 2015-01-01 12:00)
Configuration Current of listing in time like backend 2008-01-01 00:00
list.dateformat
Date format for the backend listing (see http://php.net/manual/function.date.php for details)
Configuration Y-m-d H:i of listing in backend
powermail - 52
Features Validation of field values JavaScript validation Example
If you have activated validation JS in constants (default), than you can validate values of textfields just after input in frontend:
Example: Mandatory check
Example: E-Mail check
Check for: This validation of textfields are currently possible: ●
Mandatory
●
●
URL
●
Numbers
●
Numbers (with comma or point)
●
Letters
●
Letters and numbers
Error Message: Note: Current error messages are in german and english – you can change or add your own messages via locallang or typoscript (see above)
Stylesheet classes to manipulate validation messages and input fields: ● ● ●
If error in inputfields: <input class=“validation-failed” /> If no error in inputfields: <input class=“validation-passed” /> DIV Layer of errormessage: <div class=”powermail_mandatory_js”>error</div>
powermail - 53
PHP validation Email of sender Email of user will be automaticly checked, as soon as the email field is selected in backend
Setting a field to mandatory via typoscript instead of flexform setting plugin.tx_powermail_pi1 { validate.uid41.required = 1 }
With this possibilitiy you can set fields to required, if another field was not filled (phone field could be mandatory if email field is empty) [globalVar = GP:tx_powermail_pi1|uid40= ] [else] plugin.tx_powermail_pi1.validate.uid66.required = 1 [end]
Autocheck via typoscript Use typoscript to check any field like (example to check uid41 if it is an email): plugin.tx_powermail_pi1 { validate.uid41.auto = email validate.uid41.errormsg = Please check your email, there is an error! }
This autochecks are possible: ●
email: check if value is an email
●
url: check if value is a correct url
●
numbers: only numbers allowed
●
phone: numbers and / and + and - allowed
●
alphanum: only numbers and characters allowed
Manual check via typoscript (using regulare expressions) Use typoscript (in the setup) to check any field like (example to check uid41 if it is an url): plugin.tx_powermail_pi1 { validate.uid41.expression = ^(http://)?([a-z0-9-]+\.)+([a-z0-9-]{2,3})$^ validate.uid41.errormsg = Sorry, but this is not a correct URL, try again! }
You can enter any regulare expression go check your field values
Further regex examples: Field (e.g.: ###UID23###) should contain alex@wunschtacho.de: plugin.tx_powermail_pi1 { validate.uid23.expression = /^alex\@wunschtacho\.de$/ validate.uid23.errormsg = Sorry, but this field should contain alex@wunschtacho.de!
}
Field (e.g.: ###UID25### and ###UID26###) should contain the same text (maybe for passwords): plugin.tx_powermail_pi1 { validate.uid25.expression = /^###UID26###$/ validate.uid25.errormsg = Sorry, but your password fields are different – try again!
}
powermail - 54
Saving db values to any db table Introduction
With powermail you can save your values to any db table (e.g. fe_users or tt_address)
Example typoscript part in setup (adding values to tt_address and tt_address_group) plugin.tx_powermail_pi1 { # extern db entry (example for tt_adress) dbEntry { # enable or disable db entry for tt_address tt_address._enable = TEXT tt_address._enable.value = 1
# write only if field is not yet filled # (update - update values of existing entry) # (none - no entry if field is filled) # (disable â&#x20AC;&#x201C; always add values â&#x20AC;&#x201C; don't care about existing values) tt_address._ifUnique.email = none # add mm relation to uid 2 of tt_address_group (via mm table) tt_address._mm = COA tt_address._mm.10 = COA # 1 is always the mm table tt_address._mm.10.1 = TEXT tt_address._mm.10.1.value = tt_address_group_mm # 2 is always the other table tt_address._mm.10.2 = TEXT tt_address._mm.10.2.value = tt_address_group # 3 is always the uid of the other table to get a relation to this (in this case uid2 of tt_address_group) tt_address._mm.10.3 = TEXT tt_address._mm.10.3.value = 2 # table "tt_address" with field "email" is a static value => alexander.kellner@einpraegsam.net tt_address.email = TEXT tt_address.email.value = alexander.kellner@einpraegsam.net # table "tt_address" with field "pid" is the current pid (e.g. 12) tt_address.pid = TEXT tt_address.pid.field = uid # table "tt_address" with field "tstamp" is the current time as timestamp (like 123456789) tt_address.tstamp = TEXT tt_address.tstamp.data = date:U # table "tt_address" with field "address" is the current formatted time (like "Date: 20.01.2009") tt_address.address = TEXT tt_address.address.data = date:U tt_address.address.strftime = Date: %d.%m.%Y # table "tt_address" with field "name" is the value from powermail (tt_content uid 88) field uid18 (###uid18###) tt_address.name = TEXT tt_address.name.data = TSFE:fe_user|sesData|powermail_88|uid18 # table "tt_address" with field "last_name" is the value from powermail (tt_content uid 88) field uid18 (###uid18###) tt_address.last_name = TEXT tt_address.last_name.data = TSFE:fe_user|sesData|powermail_88|uid18 # table "tt_address" with field "company" is the value from powermail (tt_content uid 88) field uid21_1 (###uid21_1###) (e.g. a checkbox value) tt_address.company = TEXT tt_address.company.data = TSFE:fe_user|sesData|powermail_88|uid21|1 } }
Example typoscript part in setup (adding values to tt_news) plugin.tx_powermail_pi1 { dbEntry { tt_news._enable = TEXT tt_news._enable.value = 1 tt_news.pid = TEXT tt_news.pid.value = 13 tt_news.tstamp = TEXT tt_news.tstamp.data = date:U powermail - 55
tt_news.crdate = TEXT tt_news.crdate.data = date:U tt_news.datetime = TEXT tt_news.datetime.data = date:U tt_news.title = TEXT tt_news.title.value = Neue News tt_news.author_email = TEXT tt_news.author_email.data = TSFE:fe_user|sesData|powermail_2|uid2 tt_news.author = TEXT tt_news.author.data = TSFE:fe_user|sesData|powermail_2|uid1 tt_news.short = TEXT tt_news.short.data = TSFE:fe_user|sesData|powermail_2|uid3 tt_news.short.wrap = Short version:&nbsp;|
}
}
tt_news.bodytext = TEXT tt_news.bodytext.data = TSFE:fe_user|sesData|powermail_2|uid3 tt_news.bodytext.wrap = <b>|</b>
Some information about saving to other tables ●
We advise you to enable the debug output (via constants) to check if the values will be correctly saved or if there is an error
●
Saving is only availbal if table and fields are existing
●
Every table contains one record
●
If you want to use more than only one mm relation, you can use tt_address._mm.10 and and so on...
tt_address._mm.20
●
If you want to update old entries or if you don't want to overwrite existing values, you can use the option table._ifUnique.email (see details above)
●
With this small add to powermail, you can use powermail for many features like guestbook form, tipafriend form, fe_user registration, tt_address registration and so on...
●
With this example the value of uid3 with tt_content 2 should be used: TSFE:fe_user|sesData|powermail_2|uid3
powermail - 56
Prefilling fields Sequence of prefilling fields 1.
Is there a fitting piVar like &tx_powermail_pi1[uid11]=text, than use this value, and if not...
2.
Is there a value in the session, so fill field with this value, and if not...
3.
Is there a value set in the backend flexform, take this value, and if not...
4.
Should this field filled with logged in fe_user datas (set in backend), take this value, and if not...
5.
Was typoscript used to prefill a field, use this (see example below), and if not
6.
Don't fill
Example to prefill fields via typoscript setup plugin.tx_powermail_pi1 { prefill { # fill field uid997 with a static text uid997 = TEXT uid997.value = example value # fill field uid998 with current timestamp uid998 = TEXT uid998.data = date:U # fill field uid998 with current date like "Date: 20.01.2009" uid996 = TEXT uid996.data = date:U uid996.strftime = Date: %d.%m.%Y # fill field uid995 with IP address of the user uid995 = TEXT uid995.data = getIndpEnv:REMOTE_ADDR } } Maybe it's usefull to fill some hidden fields with hidden but important values (IP address, timestamp, Language, GET params, etc..)
powermail - 57
Value manipulation Explanation
Since 1.4.0 it's possible to use the stdWrap syntax of TYPO3 to manipulate every powermail value.
Example use
It's possible that the user enters a date in the format like 2008-12-24, but it's shown 24 December 08 at the confirmation page and the unix timestamp will be written to the database
Example typoscript
plugin.tx_powermail_pi1 { # Manipulation of values in every mode (email to receiver, db log, etc..) mode { # Manipulation of values in dblog dblog { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b>
}
uid998_0 = TEXT uid998_0.field = uid998_0 uid998_0.wrap = <b>|</b>
# Manipulation of values for email to receiver (main mail) recipient_mail { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) sender_mail { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) thx { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) confirmation { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } # Manipulation of values for email to sender (confirmation mail) mandatory { uid999 = TEXT uid999.field = uid999 uid999.wrap = <b>|</b> } }
}
powermail - 58
T3 Link syntax in labels Explanation
Since powermail 1.4.0 it's possible to use the link syntax in field labels (also in labels for checkboxes and radiobuttons)
Example
Yes I accept the <link 234>terms of conditions</link>
powermail - 59
Let the user decide if he wants a confirmation mail or not Explanation
Since powermail 1.4.0 it's possible to use T3 stdWrap for the confirmation mail, main mail and db entry
Default Typoscript
plugin.tx_powermail_pi1 { # Enable, Disable email to sender or receiver or db saving allow { # Enable or disable email to receiver (main mail) email2receiver = TEXT email2receiver.value = {$plugin.powermail.allow.email2receiver} # Enable or disable email to sender email2sender = TEXT email2sender.value = {$plugin.powermail.allow.email2sender} # Enable or disable saving values to database dblog = TEXT dblog.value = {$plugin.powermail.allow.dblog} }
}
Example
# Only if the checkbox with the uid 34 was checked (tt_content uid 88) the user should get a confirmation mail plugin.tx_powermail_pi1.allow.email2sender > plugin.tx_powermail_pi1.allow.email2sender = TEXT plugin.tx_powermail_pi1.allow.email2sender.data = TSFE:fe_user|sesData|powermail_88|uid34|0
Note
In the same way you can let the user decide if there should be a mail to the main receiver or if there should be a DB entry or if there should be an entry to another db table
powermail - 60
Fighting spam ●
We suggest you to use the extension wt_spamshield for fighting spam entries (see details in manual wt_spamshield)
●
You can also use captcha (see next paragraph)
Integrate captcha to your form Description ●
First of all install a captcha extension like captcha, sr_freecap, jm_recaptcha or wt_calculating_captcha
●
Be sure, that you have chosen this extension via constants (captcha, sr_freecap, jm_recaptcha or wt_calculating_captcha)
●
As you can add a normal textfield, you can add a captcha field, thats all
●
If you have installed captcha AND sr_freecap, the extension use sr_freecap
●
If you have not installed one of this extensions, an error message in frontend is shown
Examples Example: Using captcha
Example: Using sr_freecap
Example: Using jm_recaptcha
NOTE: jm_recaptcha works only if you don't use multiple PHP – or if you want to use multiple PHP, than integrate this captcha on the last page
Example: Using wt_calculating_captcha
NOTE: This is not a normal captcha – here you have to calculate and enter the result
powermail - 61
Add new field: Selectorbox with values from database Step by step 1.
Add new field (typoscript) and use (e.g.) lib.object in this field
2.
Add your typoscript in the setup field to fill lib.object (see example below)
Example typoscript for selectorbox from table tt_address # Get all tt_address datas from pid=5 lib.object = COA_INT lib.object { 10 = TEXT 10.value = <label for="uid33">Select:</label>
}
20 = CONTENT 20.wrap = <select id="uid33" name="tx_powermail_pi1[uid33]" size="1">|</select> 20 { table = tt_address select { pidInList = 5 orderBy = name } renderObj = COA renderObj { 10 = COA 10 { 10 = TEXT 10 { field = uid wrap = <option value="|"> } 20 = TEXT 20 { field = name wrap = |</option> } } } }
Example output (html) of example typoscript <label for="uid33">Select:</label> <select id="uid33" name="tx_powermail_pi1[uid33]" size="1"> <option value="23">Name1</option> <option value="24">Name2</option> </select>
Example at typo3.net
http://www.typo3.net/forum/list/list_post/x/77259/?howto=1
powermail - 62
FAQ I need help/support with this plugin!
Use the TYPO3 forum http://www.typo3.net or http://www.typo3forum.net for help! The author will checks this both forums and give a little bit free support.
How can I prefill some fields? ●
Prefill fields with values from backend or
●
Prefill fields via typoscript (see example above) or
●
Prefill fields with feuser values (set in backend)
●
Prefill if some fields are already filled and than the user submits form and leaves this page but comes back to the form page later
●
Prefilling from outside like index.php?id=1&tx_powermail_pi1[uid55] (if you want to prefill with a pre form)
●
Prefill fields with hook use (PM_FieldWrapMarkerHook1)
Error in backend “Unknown type: inline” - what to do?
Deactivate IRRE and set the relations manually! If you have already deactivated IRRE or use TYPO3 < 4.1, don't care about this error – set the relations manually via list modul
How can I overwrite the locallang translations / How can I add a new locallang marker You can overwrite the locallang via typoscript or you can change the locallang.xml in the ext folder. Details - see “HTML Templates and markers use” in manual above
How can I use validation of fields per Javascript? This check is activated for default for textfields
You can turn of the validation via TS constants
JavaScript check don't work - why? Check if the 4 js files are correctly implemented in the HTML HEAD area: ●
<script src="typo3conf/ext/powermail/js/mandatoryjs/lib/prototype.js" type="text/javascript"></script>
●
<script src="typo3conf/ext/powermail/js/mandatoryjs/src/effects.js" type="text/javascript"></script>
●
<script src="typo3conf/ext/powermail/js/mandatoryjs/fabtabulous.js" type="text/javascript"></script>
●
<script src="validation/fachgebiete/typo3-extensions/powermail.html" type="text/javascript"></script>
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 should powermail - 63
show you a dynamic JavaScript file! If you want to check of mandatory fields, check if “required” is in the input class. If you want to check of email fields, check if “validate-email” is in the input class. Of course you can mix this. See standard form for all needed classes. NOTE: If you use mootools within your homepage, there is a conflict with prototype. You can field validation via mootools in the constants
How can a style my form? All can be done with css. Note: If you only need one page (no multiple page), you can anyway add more than only one fieldset. So you can float fieldsets horizontal (e.g.). Note1: See “CSS corner” for css examples below Note2: We offer a sample css in the extension folder: ext/powermail/css/sampleCSS.css Note3: Have a look into an existing powermail example and copy the css of this homepage (examples are listed above)
HTML Validation vailed
HTML validation failed on such form action: index.php?id=1&tx_powermail_pi1[mailId]=1&cHash=1234567 ●
Try to use RealUrl to remove cHash
●
If you have chosen XHTML strict in your TYPO3 backend, the & will be written as &amp;
How can I choose my own html code instead of the automatic html generation Sometimes it could be useful to use an own html code instead of the automatic html code. You can simply generate some fields and copy the html source between the form tags in the formwrap.html template or you can use markers like ###UID23### to get the HTML code of this field – thats all.
I want a select box in frontend where the user can choose the receiver of the form Main explanation: ●
Add new fe_users in backend with email (e.g. UID1 info@test.com and UID2 with support@test.com)
●
Create a new select field in powermail (value e.g. Info | 1 \n Support | 2) (select like ###UID42#)
●
Use db query for recipients in TYPO3 backend (e.g. SELECT email FROM fe_users WHERE uid = ###UID42###)
Example pictures:
Different Examples to select receiver in frontend: Query for selecting one fe user (e.g.: UID42 is fe_user uid):
SELECT email FROM fe_users WHERE uid = ###UID42### AND hidden = 0 AND deleted = 0 powermail - 64
Query for selecting a fe usergroup (e.g.: UID43 is fe_user group uid):
SELECT email FROM fe_users WHERE find_in_set(###UID43###,usergroup) > 0 AND hidden = 0 AND deleted = 0
Query for sending form to a static fe usergroup (e.g.: usergroup with uid 44)
SELECT email FROM fe_users WHERE find_in_set(44,usergroup) > 0 AND hidden = 0 AND deleted = 0
I will check some fields (with php) if the value is an email or an URL plugin.tx_powermail_pi1 { validate.uid41.auto = email validate.uid41.errormsg = Please check your email, there is an error! validate.uid56.auto = url validate.uid56.errormsg = Please check your url, there is an error!
}
Details or how to use own regulare expression see above!
I want to use captcha but no captcha field is shown Maybe you have installed and loaded the extension captcha and in constants is set sr_freecap (standard) instead of captcha.
Onetime filling solve all my problems
It's possible to enable one time filling via constants. Check if a value already exists (maybe an email address) or check if IP address already exists. See constants editor...
Countryselector dropdown without value (Empty field cn_short_en ...) 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 the database. Powermail shows an errormessage in the dropwdown like “Empty field cn_short_en (uid 33)”
There is a problem with content elements like text/image / dividers2tab problem
We know about this problem (< TYPO3 4.2) and there is an entry in the typo3 bugtracker: http://bugs.typo3.org/view.php?id=7297 Workarround: You can disable dividers2tab in the extension manager of powermail, so tt_content is without dividers2tab (but powermail too)
I cannot add fields ●
Do you use date2cal? So disable start- and stoptime for fieldsets and fields in the extension manager
●
Just try to disable the dividers2tab checkbox in the extension manager for powermail.
●
If this don't helps, we advise you to disable IRRE in the extension manager.
NOTE: If you want to use IRRE, ensure that your server provides long POST variables (maybe it's useful to increase POST memory size on the server)
Dynamic text on answer page ●
“Sehr geehrter Herr” if male or “Sehr geehrte Frau” if female
●
http://www.typo3.net/forum/list/list_post/x/78897/?howto=1
Include google searchword in mail ●
If someone comes from google to your page – maybe you want to add the searchterm to your mail
●
http://www.typo3.net/forum/list/list_post//x78365/?howto=1
Dynamic date in a dropdown field ●
Another userFunc example, which shows the next days in a powermail select box
●
http://www.typo3.net/forum/list/list_post/x/78670/?howto=1
powermail - 65
CSS corner Add a default CSS Example picture (adding static template):
Example picture (default CSS in Frontend):
Explanation: Adding the static template â&#x20AC;&#x153;Add default CSS (powermail)â&#x20AC;? integrates the default CSS from powermail folder: css/sampleCSS.css
powermail - 66
How to get labels and fields in two columns with css Example picture:
Example css:
fieldset.tx-powermail-pi1_fieldset { /* Disable border */ border: none; } fieldset.tx-powermail-pi1_fieldset label { /* Style labels */ display: block; width: 150px; float: left; clear: both; } fieldset.tx-powermail-pi1_fieldset input, fieldset.tx-powermail-pi1_fieldset select { /* Style input fields */ width: 200px; border: none; border-bottom: 1px solid black; margin-left: 10px; } div.tx_powermail_pi1_fieldwrap_html { /* Increase margin between every field */ margin: 10px 0; }
Additional note (clearfloat):
Maybe it's useful to add a div layer to the tmpl_formwrap.html at the end, to clear the floats like: <div style=â&#x20AC;?clear: bothâ&#x20AC;?></div>
powermail - 67
How to get two columns Note:
You can use more than only one fieldset to style your form with more columns. So you should add two pages (fieldsets) to your form and choose “single step”.
Example picture:
Example css:
fieldset.tx-powermail-pi1_fieldset { /* Disable border */ border: none; } fieldset.tx-powermail-pi1_fieldset_1 { /* Style left fieldset */ width: 45%; float: left; } fieldset.tx-powermail-pi1_fieldset_2 { width: 45%; }
Additional note (clearfloat):
Maybe it's useful to add a div layer to the tmpl_formwrap.html at the end, to clear the floats like: <div style=”clear: both”></div>
powermail - 68
Developers corner Database relation model
(also available in extension folder powermail/doc/database_relation)
tt_content: Original tt_content field extended with some powermail fields tx_powermail_fieldsets: Table with all fieldsets tx_powermail_fields: Table with all fields tx_powermail_mails: If you submit in a form the values are saved to this table
powermail - 69
Hooks in powermail Introduction
With the possibilitiy of hooks, you can manipulate extensions and TYPO3 without changing the code. So you enter your own code from outside.
Hook documentation #
Hookname
File
Folde r
Function Input
Retur n
Note
Example use
1
Real markerArr ay hook
class.tx_ powermail _markers. php
lib
PM_marke $thisrArrayHo >what, ok $this>geoArray, $this>markerArr ay, $this>sessionda ta, $this>tmpl, $this
-
This is the main markerArray hook. Every action in powermail (show confirmationpage, show thx page, show mandatory page, generate email to receiver, generate email to sender) uses the marker class to show fieldvalues. With this you you can manipulate this output as you want
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_MarkerArrayHoo k'][]
2
Adding or changing markers (for all views)
class.t x_power mail_ma rkers.p hp
lib
PM_Field $markerArr MarkerAr ay, rayHook $formValue s, $k, $v, $kv, $vv, $this
-
Every marker (confirmation page, mandatory page, thx page, email sender, email receiver) will be using this hook
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldMarkerArr ayHook'][]
3
Hook for main manipulat ion1
class.tx_ powermail _pi1.php
pi1
PM_MainC $thisontentBe >sessionfi foreHook elds, $this>piVars, $this
-
You can change the sessions or piVars or something like that
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_MainContentHoo kBefore'][]
4
Hook for main manipulat ion2
class.tx_ powermail _pi1.php
pi1
PM_MainC $thisontentAf >content, terHook $this>piVars, $this
-
Change the whole output $content
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_MainContentHoo kAfter'][]
5
Hook for page with form
class.tx_ powermail _form.php
pi1
PM_FormW $thisrapMarke >OuterMark rHook erArray, $this>subpartAr ray, $this>conf, $this
-
This hook will be opened before the outerMarker array is substituted with HTML template on the form page.
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FormWrapMarker Hook'][]
6
Hook for page with form for inner wrap
class.tx_ powermail _form.php
pi1
PM_For mWrapM arkerH ookInn er
-
This hook allows to change markers in the formwrap (inner loop)
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FormWrapMarker HookInner']
7
Hook for adding new fields
class.tx_ powermail _html.php
pi1
PM_Field $thisHook >xml, $this>title, $this>type, $this>uid, $this>markerArr ay, $this>piVarsFro mSession, $this
$this >cont ent
This hook allows you to add new fields to powermail (see powermail_mul for an example)
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldHook'] ['FIELDNAME'][]
$this>InnerMark erArray, $this>conf, $row, $this
powermail - 70
#
Hookname
File
Folde r
Function Input
Retur n
Note
Example use
8
Hook after field generatio n
class.tx_ powermail _html.php
pi1
PM_Field $thisWrapMark >uid, erHook $this>xml, $this>type, $this>title, $this>markerArr ay, $this>content, $this>piVarsFro mSession, $this
-
This hook will be opened before the html code of the current field is given back (at the end of fieldgeneration). Maybe if you want to manipulate a special field
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldWrapMarke rHook'][]
9
Hook for markerArr ay in field generatio n
class.tx_ powermail _html.php
pi1
PM_Field WrapMark erArrayH ook
$this>uid, $this>xml, $this>type, $this>title, $this>markerArr ay, $this>piVarsFro mSession, $this
-
This hook will be used for every kind of field. You can manipulate the markerArray before the field is generated
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldWrapMarke rArrayHook'][]
1 0
Hook for markerArr ay in field generatio n (inner markerArr ay for checkboxe s, radiobutt ons, and so on)
class.tx_ powermail _html.php
pi1
PM_Field WrapMark erHookIn ner
$this>uid, $this>xml, $this>type, $this>title, $markerArr ay, $this>piVarsFro mSession, $this
-
This hook will be used for every kind of field. You can manipulate the markerArray before the field is generated (this hook will be used for innerMarkerArray â&#x20AC;&#x201C; checkbox, radiobuttons, etc...)
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldWrapMarke rArrayHookInner'][]
1 1
Hook for manipulat ion of default markers
class.tx_ powermail _html.php
pi1
PM_Field $thisWrapMark >uid, erHook1 $this>xml, $this>type, $this>title, $this>markerArr ay, $this>piVarsFro mSession, $this
-
Useful if you want to prefill some powermail fields with your own stuff, etc...
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_FieldWrapMarke rHook1'][]
1 2
Hook for confirmat ion page
class.tx_ powermail _confirma tion.php
pi1
PM_Confi $thisrmationH >markerArr ook ay, $this
-
This hook will be opened before the marker array is substituted with HTML template on the confirmation page.
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_ConfirmationHo ok'][]
1 3
Mandatory and error check hook
class.tx_ powermail _mandator y.php
pi1
PM_Manda $thistoryHook >error, $this>markerArr ay, $this>innerMark erArray, $this>sessionfi elds, $this
-
If you set $this>error to 1, powermail will stop the submit process, with $this>sessionfields you can write your own error message
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_MandatoryHook' ][]
powermail - 71
#
Hookname
File
Folde r
Function Input
Retur n
Note
Example use
1 4
Hook for email change
class.tx_ powermail _submit.p hp
pi1
PM_Submi $thistEmailHo >subpart, ok $this>maildata, $this>sessionda ta, $this>markerArr ay, $this
-
This hook allows to change the emails (subject, receiver, sender, etc..)
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_SubmitEmailHoo k'][]
1 5
Submit hook before submit
class.tx_ powermail _submit.p hp
pi1
PM_Submi tBeforeM arkerHoo k
Error code (0/1 bolea n)
If you want to stop the submit (emails and db insert), you can return TRUE
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_SubmitBeforeMa rkerHook'][]
1 6
Submit hook after emails
class.tx_ powermail _submit.p hp
pi1
PM_Submi $this, tAfterMa $thisrkerHook >markerArr ay, $this>sessionda ta
-
If you want to do something after a correct submit, you can use this hook (maybe an additional db entry)
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_SubmitAfterMar kerHook'][]
1 7
Thx message hook
class.tx_ powermail _submit.p hp
pi1
PM_Submi $thistLastOne >content, Hook $this>conf, $this>sessionda ta, $this>ok, $this
-
If you want to manipulate the thx message after submit
$GLOBALS['TYPO3_CON F_VARS']['EXTCONF'] ['powermail'] ['PM_SubmitLastOne' ][]
$this, $this>markerArr ay, $this>sessionda ta
How to use a hook in my own extension? Example for using a powermail hook in your own extension in the ext_localconf.php: $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['powermail']['PM_FormWrapMarkerHook'][] = 'EXT:yourextension/targetphpfile:tx_yourphpclass';
This hook want to use the function PM_FormWrapMarkerHook() in your class
Note: The class name must start with a tx_ Additional information
Hook documentation is also available in extension folder powermail\doc\hook ●
hooks.ods could be open with OpenOffice
●
hooks.html can be read with a browser
Look into another extension which uses a powermail hook to manipulate powermail
The antispam extension wt_spamshield uses two powermail hooks, look into the code, if you want to know more: http://typo3.org/extensions/repository/view/wt_spamshield/0.1.6/
TYPO3 hook documentation
http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/3/4/ http://typo3.org/development/articles/how-to-use-existing-hooks/page/1/?tx_rlmpofficedocuments_pi1%5Bview %5D=multiple&cHash=e106c40cbd
Do you really need a hook?
You can easily add a new marker with “dynamic typoscript marker” - so there is the possibility to use a userfunc...
Do you need a new hook?
Do you need a special hook? Write us!
powermail - 72
Todos Bugfixes â&#x2014;?
A list of known bugs is viewable at forge.typo3.org: http://forge.typo3.org/projects/extension-powermail/issues
Features â&#x2014;?
A list of useful features is viewable at forge.typo3.org: http://forge.typo3.org/projects/extension-powermail/issues
Request
Do you need a new feature or maybe you've found a bug or maybe you want to help us? Please add a new issue at http://forge.typo3.org/projects/extension-powermail/issues or write us an email!
powermail - 73
Changelog Powermail version 1.4.x stable Update on 24.02.2009 version 1.4.10 ●
Bugfix #2695: JS Validation for checkboxes
●
Bugfix #2694: Fix in JS Validation for checkboxes and radiobuttons
●
Bugfix #2657: ERROR array in mandatory class was wrong
●
Bugfix #2656: Hook name changed in mandatory class
●
Feature #2703: New class added: Odd or Even
●
Feature #2701: Hook for adding file attachments added
●
Feature #2697: Select mootools or prototype for JS validation
●
Feature #2690: Manual field creation added
●
Feature #2658: Print and close function in detail view of backend plugin
●
Feature #2654: Prefilling text fields like input fields
●
Feature #2651: Db entries in extern tables: Don't overwrite existing values
●
Feature #2647: Logging FEUSER Id in mail
●
Feature #2624: Dynamic markers in recipient field
Update on 16.02.2009 version 1.4.9 ●
Bugfix #2625: JS validation and SimulateStaticDocuments
●
Bugfix #2622: Saving values to more than only one extern db table
●
Bugfix #2434: Improvement of alphanum and alpha JS validation (with umlauts)
●
Bugfix #2433: Using absRefPrefix
●
Bugfix #2127: More powermail forms on one page
●
Feature #2624: Enabling dynamictyposcript for subject and email of recipient mail
Update on 04.02.2009 version 1.4.8 ●
Bugfix #2433: Using of absRefPrefix in a current T3 installation fixed
●
Bugfix #2290: typoscript fields could disable session datas
●
Feature #2571: Setting reply name and reply email address for emails
●
Feature #2569: Using style information instead if cols, rows and size
●
Feature #2568: Adding attachments to emails via typoscript stdWrap
●
Feature #2561: Enabling LINK syntax in Radiobutton and Checkbox labels
●
Feature #2559: Random filenames for export
Update on 26.01.2009 version 1.4.7 ●
Bugfix #2500: Sessionproblems - this bugfix is integrated in TYPO3 4.2.5
●
Bugfix #2460: Powermail work with sr_freecal (all versions)
●
Bugfix #2490: JS validation for checkboxes
●
Small improvement of debug output (set IP address in Install Tool)
Update on 10.01.2009 version 1.4.6 ●
wt_calculating_captcha integration
●
Small fix in JS integration
●
Small fix in captcha code
Update on 08.01.2009 version 1.4.5 ●
Bugfix #2430, 2429, 2261: Fatal error with GLOBALS[TSFE] in FE
●
Feature #2428: Danish translation added powermail - 74
Update on 07.01.2009 version 1.4.4 ●
Bugfix #2390: ###POWERMAIL_TARGET### with wrong target
●
Bugfix #1414: Copy to other languages copies fields and fieldsets
●
Feature #2255: Tooltip and Description function added
●
Feature #1181: Localization in Backend with fieldsets and fields
Update on 21.12.2008 version 1.4.3 ●
Bugfix #2261: JS library will be only included if powermail on same page
●
Bugfix #2263: Every Radiobutton get an own DIV container and JS validation works
●
Bugfix #2272: dd and dt tags can be used with plaintext mails
●
Bugfix #2278: Small bugfix in french language with JS validation
●
Bugfix #2280: German umlauts enabled in alphanum validation
●
Feature #2282: Add slovenian language
Update on 01.12.2008 version 1.4.2 ●
Bugfix #2197: Empty captcha label
●
Bugfix #2196: Powermail work with date2cal 1.1.0 now
●
Bugfix #2173: MultipleJS css will be included again
●
Bugfix #2171: Dynamic JS will be included in the right way via ext_typoscript_setup.txt
●
Bugfix #2161: Errormessage in markers class
●
Bugfix #2157: Mandatory html Template now XHTML valid
●
Bugfix #2153: Value for next and previous button no more empty
Update on 09.11.2008 version 1.4.1 ●
Small bugfix in ext_typoscript_setup.txt
●
Some explanations in the manual to 1.4.0 features
Update on 07.11.2008 version 1.4.0 ●
Feature #1534: Support for LINK syntax in labels
●
Feature #1919: User checks for confirmation mail (mail via typoscript)
●
Feature #1915: TS Manipulation of every field
●
Feature: Debug output for externdbentries
●
Bugfix #1889: Problems with CSV export fixed in export class
●
Bugfix #1773: JS Path available via setup
●
Bugfix #1752: File validation
●
Bugfix #1733: Mandatory upload field
●
Bugfix #1540: "Cannot redeclare xajaxerrorhandler" countryzoneselector
●
Bugfix #1914: absRefPrefix supported now
●
Bugfix #1122: Mandatory Radio Buttons (no more xhtml valide)
●
Bugfix: URL problem with reset button
●
Code cleaning
Powermail version 1.3.x stable Update on 22.10.2008 version 1.3.16 ●
Feature #1777: Individual labels in html Template enabled
●
Feature #1704: Prototype.js update
●
Bugfix #1721: Default CSS typoscript fix
●
Bugfix #1720: Submit redirect fixed
●
Bugfix #1530: Countryselect prefilling powermail - 75
Update on 12.10.2008 version 1.3.15 ●
Bugfix #1648: Better links in multiple pages
●
Bugfix #1686: Disable hiddenfields in confirmation page
Update on 30.09.2008 version 1.3.14 ●
Bugfix #1530: Countryzone fix
●
Feature new Hook: Prefilling fields
●
Feature #1504: Small changes in Hook, add new hook
Update on 11.09.2008 version 1.3.13 ●
Feature #1499: Choose more than only one field for sendername in flexform
●
Feature #1497: Countryzone Selectorbox via AJAX (add to countryselector)
●
Feature #1419: Make .field available for typoscript fields for powermail
●
Feature #1358: Integrate recaptcha as third captcha possibility
●
Bugfix #1498: Small fix in using wt_spamshield
●
Bugfix #1395: Error in MX Check (user goes back and tries to submit again)
●
Bugfig #1393: If empty sendername don't take “x”
●
Bugfix #1022: Export of mails (XLS, CSV, HTML) without umlauts problems
Update on 24.08.2008 version 1.3.12 ●
Feature #1203: Disable hiddenfields for sender (via constants)
●
Feature #1275: Get RTE configuration from tsconfig
●
Feature #1207: Errormessage if no html template could be found
●
Feature #1308: Mandatory fields can be set via typoscript (to use ts conditions)
●
Feature #1309: Set sendername via flexform
●
Feature #1313: Add static template for default css
●
Fix for #1059: Workarround: Disable start- / stoptime for fields/fieldsets (avoid problem with date2cal in BE)
●
Fix for #1293: redirect with absRefPrefix
●
Fix for #1299: UTF8 Problem in backend
●
Fix for #1304: Small change in fieldwrap.html (onClick -> onclick)
●
Fix for #1122: Radio buttons no more mandatory
●
Feature: Prepare for InnerMarkerArray in fieldwrap (powermail_cond within checkboxes)
●
Feature: Real markerArray hook in marker function
●
Feature: Audio feature for sr_freecap
●
Small Fix for unique Check and savetopid via Flexform
Update on 03.08.2008 version 1.3.11 ●
New Hook: Inner Form markerArray
●
Changed HTML Template Formwrap and Fieldwrap for other extensions
●
Removed too much code and files
●
Bugfix #1189: unique with empty values
●
Bugfix #1122: preparing mandatory for radio buttons
●
Bugifx for powermail_multiple
●
Prepare for powermail_cond (conditions for powermail)
Update on 28.07.2008 version 1.3.10 ●
New languages: PL, ES, PT
●
New global Markers in fieldwrap (formname and formtarget)
●
Uploaded files could be deleted powermail - 76
●
Reset button with clearing whole session
●
Small change in the three fieldwrap hook (session will be delivered)
Update on 14.07.2008 version 1.3.9 ●
Backend module with possibility to delete mails manually
●
Backend module with possibility to delete mails after export
●
Powermail suggests geoip for geo information
●
Added markerArray hook for field generation
Update on 06.07.2008 version 1.3.8 ●
Bugfix: Dividers2tab for TYPO3 4.2
●
Start and Stop added for TYPO3 4.2
●
Start and Stop added for fields and fieldsets
●
Add icon to CType selection
●
Language selection is no more shown twice
●
Bugfix: Values of submit and reset
●
Bugfix: Save mails was shown in other plugins
Update on 29.06.2008 version 1.3.7 ●
Errormessage if no TS found
●
Sorting of pagebrowser in js multiple fixed
●
Value of submit and reset removed
Update on 21.06.2008 version 1.3.6 ●
PID where to save could be set via plugin now (and via ts too)
●
Sender E-Mail can be set via constants
●
Labels for ts fields can be used now
●
Bugfix: Shows breaks on confirmation page (e.g. textarea)
●
NoIRRE: uid added to dropdown (fieldset and content choose)
●
Debug output: Added array with db values
●
Removed SQL debug output
●
Some bugfixes in php files
●
Small improvement in english locallang part
Update on 07.06.2008 version 1.3.5 ●
Small fix for mm relations with external db entries
●
Small fix for powermail_mul
Update on 28.05.2008 version 1.3.4 ●
Fixed problem with localization on some systems
Update on 25.05.2008 version 1.3.3 ●
Improvement for Plaintext (html tags will be removed)
●
Improvement in constants for plaintext and html mails
●
Small fix in Sender name
Update on 21.05.2008 version 1.3.2 ●
Debug output added (activate via constants)
Update on 20.05.2008 version 1.3.1 ●
Set date2cal date format via constants
●
Manual fix
powermail - 77
Update on 15.05.2008 version 1.3.0 ●
Db entries to other tables with mm relations available (Attention: New dbEntry typoscript)
●
Plaintext available (enable in constants)
●
RTE parsing can be disabled via constants
●
No more removeXSS for piVars
●
Bugfix: MX check for windows disabled
Powermail version 1.2.x stable Update on 12.05.2008 version 1.2.4 ●
Failure fixex: tt_address entries activated by default
Update on 08.05.2008 version 1.2.3 ●
New feature: Accesskeys available in fields (automaticly or manually via constants)
●
New feature: Tabindex available in fields (via constants)
Update on 07.05.2008 version 1.2.2 ●
Adding new field to powermail: Typoscript element Possibility to use a userfunc, etc... as a new field
●
Adding a new hook: Easy adding new fields to powermail
Update on 06.05.2008 version 1.2.1 ●
Onetime filling available (check by fieldcontent or IP address)
●
Bugfix for checkbox (javascript was not included in 1.2.0)
Update on 05.05.2008 version 1.2.0 ●
Fields can be prefilled with typoscript
●
Dynamic typoscriptmarker can be used in every HTML Template or RTE field
●
Dynamic locallangmarker can be used in every HTML Template or RTE field now
●
MX Record check of sender email address (disabling via constants)
●
###POWERMAIL_ALL### Don't show label if value is empty (enabling via constants)
●
Removed unnecessary p-tags in emails
●
DB entries in other tables (use typoscript)
●
Mandatory check of checkboxes
●
Disable automatic realurl settings in extension manager (if wanted)
●
DB entry in other db table in second level (like uid3_0)
●
Hiddenfields and JavaScript for checkboxes can be disabled (via constants) (Attention: Changes HTML Template tmpl_fieldwrap.html)
●
Fix: Checkbox CSS classes added
●
Country selection available with static_info_tables_de, _fr, _da, and so on...
●
RemoveXSS for HTML fields can be disabled if wanted (via constants)
●
Charset of output can be set via constants (utf8)
●
Small fix in html for countryselection
Powermail version 1.1.x stable Update on 05.05.2008 version 1.1.10 ●
Security fix
Update on 20.04.2008 version 1.1.9 ●
Update for handling checkboxes (disabling of checkbox values possible – via JS)
powermail - 78
Update on 14.04.2008 version 1.1.8 ●
Extern db entry (timestamp and current pid enabled)
Update on 10.04.2008 version 1.1.7 ●
Improved hook loop in submit.php
●
Fixed CSS class of previous and next button
●
Small fix in realurlconf
●
Prepared fileupload in second level (in array)
Update on 09.04.2008 version 1.1.6 ●
Small bugfix
Update on 09.04.2008 version 1.1.5 ●
File upload: Error messages if file is to large or has wrong extension
●
Added new div layer to html_fieldwrap for checkboxes and radiobuttons
●
Export with piVars in second level available (checboxes, multiple selctions, etc...)
●
Filter is always visible in backend module (even if current page has no powermails)
Update on 07.04.2008 version 1.1.4 ●
Small fixes in use with powermail_optin
Update on 06.04.2008 version 1.1.3 ●
Enabled powermail_optin with powermail
●
3 more hooks added
●
redirect fix
●
small fix for mod1
Update on 01.04.2008 version 1.1.2 ●
Individual configuration of export files via tsconfig now available!
●
Backend module with some configuration possibilities
●
Pagebrowser to backend module added
●
Small fix for redirect after submit (without baseurl)
Update on 27.03.2008 version 1.1.1 ●
Preselection for checkbox, radiobuttons and selectfields available
●
Small fix for country preselection
●
CSS example added to manual
Update on 25.03.2008 version 1.1.0 ●
Noreply email address (sender) can be set via constants
●
Easy saving values to any db table via typoscript
●
No more emails to noreply@domain.org
●
Allowed upload file extensions decreased to lower case letters
Powermail version 1.0.x stable Update on 21.03.2008 version 1.0.12 ●
Small fix for formsonpage use
●
Small fix if you want to send text in emails
Update on 19.03.2008 version 1.0.11 ●
SQL debug output deactivated
●
Small change for TYPO3 4.2 powermail - 79
Update on 14.03.2008 version 1.0.10 ●
New feature: Markers available in receiver field
●
Added a new hook to manipulate email receiver, sender and subject
●
Hook documentation added to manual
Update on 12.03.2008 version 1.0.9 ●
Bugfix: Multiple within select fields available
Update on 09.03.2008 version 1.0.8 ●
New feature: Markers allowed in email subjects
●
New feature: Markers allowed in regulare expressions (php validation check of fields)
●
Added realurl example in the folder ext/powermail/doc/
●
Bugfix: Confirmationpage error if content was only available for a special usergroup
●
Manual: Addes some new examples
Update on 08.03.2008 version 1.0.7 ●
Bugfix: require_once error on a few server
●
Some kind of “code cleaning”
Update on 06.03.2008 version 1.0.6 ●
New feature: Uploaded files will be attached to emails
●
If captcha and sr_freecap is loaded, select one via constants
Update on 04.03.2008 version 1.0.5 ●
Fixed a language problem with javascript validation error messages
●
Javascript validation of text fields: Added german umlauts
●
Constants splitted into two parts
Update on 02.03.2008 version 1.0.4 ●
date2cal is not needed any more
Update on 01.03.2008 version 1.0.3 ●
Bugfixing linebreaks (e.g. In textareas)
Update on 29.02.2008 version 1.0.1 / 1.0.2 ●
Uses new API from date2cal 7.0.0 (faster and better work between powermail and date2cal)
●
Some mall bugfixes
Update on 28.02.2008 version 1.0.0 ●
Fields and Fieldsets can be set to hidden
●
HTMLentities for JS integration can be disabled per constants
●
Bugfix: JS errormessage in IE removed
●
Bugfix: Files could not be uploaded on some TYPO3 installations
●
Bugfix: Content with powermail can be set to hidden
●
Bugfix: Starttime and Endtime available in Content with powermail
Powermail version 0.7.x beta Update on 27.02.2008 version 0.7.2 ●
Main bug finally fixed: On some T3 installations no field could be added!
Update on 25.02.2008 version 0.7.1 ●
Auto PHP validation of every field available
●
Manual PHP validation of every field available (with regulare expressions) powermail - 80
●
Bugfix: Addslashes two times to one time
●
Small HTML bugfix for id in frontend
●
Sender email address will be automaticly validated
Update on 23.02.2008 version 0.7.0 ●
Select, Checkboxes, Radiobuttons with different label/values available
●
You can set a sender name
●
First email as sender, rest with cc
●
Marker available in receiver db select
●
Possibilty to select receiver in frontend
●
Hook documentation added
Powermail version 0.6.x beta Update on 21.02.2008 version 0.6.3 ●
Small bugfix (“array” in ###POWERMAIL_ALL###)
●
Database relation added to manual
Update on 20.02.2008 version 0.6.2 ●
Recipients sql query finally possible in backend
●
French translation added to powermail
●
trim() will be used for all values
●
Single quote allowed in fields
●
Bugfix if “onfocus” is not used
Update on 18.02.2008 version 0.6.1 ●
Small bugfix for checkbox css classes in frontend
●
Standard values from datetime fields will be filled correctly (no more timestamp)
Update on 17.02.2008 version 0.6.0 ●
Multiple page via javascript finally added
●
Changes in manual
●
Sample CSS added
Powermail version 0.5.x beta Update on 15.02.2008 version 0.5.9 ●
JavaScript validation enabled with simulatestaticdocuments
●
IP logging can be disabled
●
Bugfix: Date fields will be prefilled now
Update on 14.02.2008 version 0.5.8 ●
Small bugfix in upload fields
●
New screenshot in manual
Update on 11.02.2008 version 0.5.7 ●
Bugfix: Sender email
●
HTML validation passed
●
ID's for checkboxes and radiobuttons improved
Update on 10.02.2008 version 0.5.6 ●
New global marker added: ###POWERMAIL_UPLOADFOLDER###
●
Check: Upload field function powermail - 81
●
Bugfix in sender email address if no address defined (noreplay@domain.com)
●
Bugfix in ext_localconf.php in realurl settings (no more foreach error)
Update on 03.02.2008 version 0.5.5 ●
New translation added: Dutch
Update on 31.01.2008 version 0.5.4 ●
Bugfix: No more error message if you choose the backend module
●
Marker ###POWERMAIL_BASEURL### filled with baseurl or absolute URL to your Server
●
Powermail can be used in TYPO3 4.2 if wanted
Update on 26.01.2008 version 0.5.3 ●
Prototype.js can be disabled via constants
●
Bugfix: Another umlauts problem (utf-8)
●
Disallow quotes in tags
●
You can disable tab dividers if wanted
●
Define which fe_users fields are available for prefilling
Update on 26.01.2008 version 0.5.2 ●
Bugfix: Small change in showing error message (wt_spamshield)
●
Spam Hook with further objects
Update on 24.01.2008 version 0.5.1 ●
Bugfix: Default values in RTE: ###POWERMAIL_ALL###
●
Bugfix: Break in textareas is allowed now (NOTE: Changes in tmpl_all.html)
●
Fields submit, reset, check and radio with better css class
●
Umlauts in emails possible
●
Frontend preview can be deactivated in backend
Update on 22.01.2008 version 0.5.0 ●
Change of version status: from alpha to beta
●
Redirect instead of thx message possible
●
Marker of each field will be displayed in backend
●
Small security fix
●
Captcha fix
●
Bug in countryselect fixed
●
Small bugfixes for content element in backend
●
Global Marker ###POWERMALL_ALL### fix (with checkboxes)
●
Constants markerALL.notIn changed
●
Additional RTE fields for both emails in backend (can be used with existing HTML template)
●
Field “name” in backend of each field removed (not in use any more)
●
Changes in php
●
Pagebrowser in multiple available (2 of 4)
Powermail version 0.4.x alpha Update on 21.01.2008 version 0.4.1 ●
Bugfix: Captcha use with Confirmation page
Update on 20.01.2008 version 0.4.0 ●
Security update
●
Captcha can be used: sr_freecap powermail - 82
●
Captcha can be used: captcha
●
PHP bugfixes
●
Example pictures for every field in the backend
●
New screenshots in manual
Powermail version 0.3.x alpha Update on 18.01.2008 version 0.3.4 ●
Mandatory JS check was disabled if date2cal was in use
●
Some bugfixes in php
●
Now: User int plugin
●
Small changes in locallang.xml
Update on 16.01.2008 version 0.3.3 ●
Add mandatory and validation javascript for fieldcheck
Update on 16.01.2008 version 0.3.2 ●
Some changes in the manual
●
Some small fixes
●
Small change in html template: fieldwrap
●
Now, you can clear session after submit (set via constants)
Update on 16.01.2008 version 0.3.1 ●
Upload field enabled (updated constants)
●
Get values from logged in fe_user
●
Checks for valid sender email address
●
Improved error management
Powermail version 0.2.x alpha Update on 15.01.2008 version 0.2.2 ●
Mandatory fields will be added with a symbol (*) (Symbol can be wrapped in constants)
●
Bugfix in Excel export
●
Powermail can be used with older TYPO3 versions (tested on TYPO3 3.8)
●
IRRE can be deactivated if wanted (so you can enter the relation by hand)
●
Bugfix (checkbox label)
Update on 14.01.2008 version 0.2.1 ●
Mandatory field check enabled
Update on 13.01.2008 version 0.2.0 ●
Backend module with list-, export- and filter functions
●
Bugfixes in main code
Powermail version 0.1.x alpha Update on 10.01.2008 version 0.1.4 ●
Backend module integrated
●
Many bugfixes
Initial Release to TER on 08.01.2008 version 0.1.3 ●
Main functions for powermail
powermail - 83
Additional links You can use one of the following links, to get more informations about this plugin: ●
Authors (Alex Kellner) homepage: http://www.einpraegsam.net
●
Tuning parts for your car: http://www.wunschtacho.de
●
Stuff for snowboarder and skier: http://www.justpowder.de
●
Do you need help with this plugin: http://www.typo3.net
powermail - 84