################## # Frontend Plugin ################## plugin.tx_powermail { view { templateRootPath = {$plugin.tx_powermail.view.templateRootPath} partialRootPath = {$plugin.tx_powermail.view.partialRootPath} layoutRootPath = {$plugin.tx_powermail.view.layoutRootPath} } features.rewrittenPropertyMapper = 1 settings { setup { main { pid = {$plugin.tx_powermail.settings.main.pid} form = {$plugin.tx_powermail.settings.main.form} confirmation = {$plugin.tx_powermail.settings.main.confirmation} optin = {$plugin.tx_powermail.settings.main.optin} moresteps = {$plugin.tx_powermail.settings.main.moresteps} } receiver { enable = {$plugin.tx_powermail.settings.receiver.enable} # Following settings are normally set via Flexform email = subject = body = # add file attachments from upload fields attachment = {$plugin.tx_powermail.settings.receiver.attachment} # html, plain, both mailformat = {$plugin.tx_powermail.settings.receiver.mailformat} default { senderName = TEXT senderName.value = {$plugin.tx_powermail.settings.receiver.default.senderName} senderEmail = TEXT senderEmail.value = {$plugin.tx_powermail.settings.receiver.default.senderEmail} } # Normally you do not need to overwrite a flexform setting, but this allows you to use cObject functions overwrite { email = TEXT email.value = {$plugin.tx_powermail.settings.receiver.overwrite.email} name = TEXT name.value = {$plugin.tx_powermail.settings.receiver.overwrite.name} senderName = TEXT senderName.value = {$plugin.tx_powermail.settings.receiver.overwrite.senderName} senderEmail = TEXT senderEmail.value = {$plugin.tx_powermail.settings.receiver.overwrite.senderEmail} subject = TEXT subject.value = {$plugin.tx_powermail.settings.receiver.overwrite.subject} # Add further CC Receivers (split them via comma) cc = TEXT cc.value = {$plugin.tx_powermail.settings.receiver.overwrite.cc} # Add further BCC Receivers (split them via comma) bcc = TEXT bcc.value = {$plugin.tx_powermail.settings.receiver.overwrite.bcc} # Add return path returnPath = TEXT returnPath.value = {$plugin.tx_powermail.settings.receiver.overwrite.returnPath} # Reply address replyToEmail = TEXT replyToEmail.value = {$plugin.tx_powermail.settings.receiver.overwrite.replyToEmail} replyToName = TEXT replyToName.value = {$plugin.tx_powermail.settings.receiver.overwrite.replyToName} # Set mail priority from 1 to 5 priority = {$plugin.tx_powermail.settings.receiver.overwrite.priority} } # Add additional attachments to the mail (separate each with comma) # addAttachment = TEXT # addAttachment.value = fileadmin/file.jpg # addAttachment.wrap = |, # Mail Header "Sender:" see RFC 2822 - 3.6.2 Originator fields f.e. webserver@example.com, leave empty if you do not want to set a Sender-Header senderHeader.email = TEXT senderHeader.email.value = {$plugin.tx_powermail.settings.receiver.senderHeader.email} # optional: f.e. Webserver senderHeader.name = TEXT senderHeader.name.value = {$plugin.tx_powermail.settings.receiver.senderHeader.name} } sender { enable = {$plugin.tx_powermail.settings.sender.enable} # Following settings are normally set via Flexform name = email = subject = body = # add file attachments from upload fields attachment = {$plugin.tx_powermail.settings.sender.attachment} # html, plain, both mailformat = {$plugin.tx_powermail.settings.sender.mailformat} # Normally you do not need to overwrite a flexform settings, but this allows you to use cObject functions overwrite { email = TEXT email.value = {$plugin.tx_powermail.settings.sender.overwrite.email} name = TEXT name.value = {$plugin.tx_powermail.settings.sender.overwrite.name} senderName = TEXT senderName.value = {$plugin.tx_powermail.settings.sender.overwrite.senderName} senderEmail = TEXT senderEmail.value = {$plugin.tx_powermail.settings.sender.overwrite.senderEmail} subject = TEXT subject.value = {$plugin.tx_powermail.settings.sender.overwrite.subject} # Add further CC Receivers (split them via comma) cc = TEXT cc.value = {$plugin.tx_powermail.settings.sender.overwrite.cc} # Add further BCC Receivers (split them via comma) bcc = TEXT bcc.value = {$plugin.tx_powermail.settings.sender.overwrite.bcc} # Add return path returnPath = TEXT returnPath.value = {$plugin.tx_powermail.settings.sender.overwrite.returnPath} # Reply address replyToEmail = TEXT replyToEmail.value = {$plugin.tx_powermail.settings.sender.overwrite.replyToEmail} replyToName = TEXT replyToName.value = {$plugin.tx_powermail.settings.sender.overwrite.replyToName} # Set mail priority from 1 to 5 priority = {$plugin.tx_powermail.settings.sender.overwrite.priority} } # Add additional attachments to the mail (separate each with comma) # addAttachment = TEXT # addAttachment.value = fileadmin/file.jpg # addAttachment.wrap = |, # Mail Header "Sender:" see RFC 2822 - 3.6.2 Originator fields f.e. webserver@example.com, leave empty if you do not want to set a Sender-Header senderHeader.email = TEXT senderHeader.email.value = {$plugin.tx_powermail.settings.sender.senderHeader.email} # optional: f.e. Webserver senderHeader.name = TEXT senderHeader.name.value = {$plugin.tx_powermail.settings.sender.senderHeader.name} } thx { # Following settings are normally set via Flexform body = redirect = overwrite { # Overwrite redirect with TypoScript cObject # Return a Number: Typolink to the pid # Return a URL: Link to an intern or extern URL # Return a File: Link to a file (within fileadmin folder) # redirect = COA # redirect { # 10 = TEXT # 10 { # typolink.parameter = 2 # typolink.returnLast = url # typolink.additionalParams = &x=y # } # } } } db { # Enable mail storage enable = {$plugin.tx_powermail.settings.db.enable} # Add new mails with hidden=1 hidden = {$plugin.tx_powermail.settings.db.hidden} } optin { subject = TEXT subject.data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:optin_subject overwrite { # email = TEXT # email.value = alexander.kellner@in2code.de # name = TEXT # name.value = Receivers Name # senderName = TEXT # senderName.value = Sender Name # senderEmail = TEXT # senderEmail.value = sender@mail.com } } # Captcha Settings captcha { # TODO: Use other Captcha Extensions (sr_freecap, captcha) use = default default { image = {$plugin.tx_powermail.settings.captcha.image} font = {$plugin.tx_powermail.settings.captcha.font} textColor = {$plugin.tx_powermail.settings.captcha.textColor} textSize = {$plugin.tx_powermail.settings.captcha.textSize} textAngle = {$plugin.tx_powermail.settings.captcha.textAngle} distanceHor = {$plugin.tx_powermail.settings.captcha.distanceHor} distanceVer = {$plugin.tx_powermail.settings.captcha.distanceVer} } } # Spam Settings spamshield { # enable or disabe spam regocnition _enable = {$plugin.tx_powermail.settings.spamshield.enable} # Spam Factor Limit in % factor = {$plugin.tx_powermail.settings.spamshield.factor} # Notification Email to Admin if spam recognized (empty disables email to admin) email = {$plugin.tx_powermail.settings.spamshield.email} indicator { # if this check failed - add this indication value to indicator (0 disables this check completely) honeypod = 5 # if this check failed - add this indication value to indicator (0 disables this check completely) link = 3 # Limit of links allowed linkLimit = 2 # if this check failed - add this indication value to indicator (0 disables this check completely) name = 3 # if this check failed - add this indication value to indicator (0 disables this check completely) session = 5 # if this check failed - add this indication value to indicator (0 disables this check completely) unique = 2 # if this check failed - add this indication value to indicator (0 disables this check completely) blacklistString = 7 # blacklisted values (default values should be extended with your experience) blacklistStringValues = viagra,sex,porn,p0rn # if this check failed - add this indication value to indicator (0 disables this check completely) blacklistIp = 7 # blacklisted values (default values should be extended with your experience) blacklistIpValues = 123.132.125.123,123.132.125.124 } } # Misc Settings misc { # Show only values if they are filled (for all views and for mails) showOnlyFilledValues = {$plugin.tx_powermail.settings.misc.showOnlyFilledValues} # HTML Output allowed htmlField = {$plugin.tx_powermail.settings.misc.htmlField} # File upload settings file { folder = {$plugin.tx_powermail.settings.misc.uploadFolder} size = {$plugin.tx_powermail.settings.misc.uploadSize} extension = {$plugin.tx_powermail.settings.misc.uploadFileExtensions} } # Date Format for Double-Optin together with date fields dateFormat = {$plugin.tx_powermail.settings.misc.dateFormat} } # Prefill some fields with their marker - e.g. {firstname} prefill { # example: fill with string # firstname = Alex # example: fill with TypoScript # email = TEXT # email.value = alex@in2code.de # eamil.wrap = | # example: fill with value from Flexform # available: css, feuserValue, mandatory, marker, pid, prefillValue, senderEmail, senderName, sorting, title, type, uid, validation # comment = TEXT # comment.field = type } marketing { # Use Google Adwords Conversion JavaScript on form submit googleAdwords { _enable = {$plugin.tx_powermail.settings.marketing.enable} google_conversion_id = {$plugin.tx_powermail.settings.marketing.google_conversion_id} google_conversion_label = {$plugin.tx_powermail.settings.marketing.google_conversion_label} google_conversion_language = {$plugin.tx_powermail.settings.marketing.google_conversion_language} google_conversion_format = 3 } # Send Form values to CRM like salesforce or eloqua sendPost { # Activate sendPost (0/1) _enable = 0 # Target URL for POST values (like http://www.target.com/target.php) targetUrl = http://eloqua.com/e/f.aspx # build your post values like ¶m1=value1¶m2=value2 values = COA values { 10 = TEXT 10 { # value from field {firstname} field = vorname wrap = &firstname=| } 20 = TEXT 20 { # value from field {e_mail} field = e_mail wrap = &email=| } 30 = TEXT 30 { # value from field {comment} field = comment wrap = &text=| } } # activate debug mode - shows all configuration from curl settings debug = 0 } } # Save values to any table (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 filled) # (disable: always add values don't care about existing values) # tt_address._ifUnique.email = update # 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 second table (e.g. categories table) # tt_address._mm.10.2 = TEXT # tt_address._mm.10.2.value = tt_address_group # 3 is always the uid of a data record of the second table to get a relation to this (in this case uid 1 of tt_address_group) # tt_address._mm.10.3 = TEXT # tt_address._mm.10.3.value = 1 # fill table "tt_address" with field "email" with a static value => mail@mail.com # tt_address.email = TEXT # tt_address.email.value = mail@mail.com # fill table "tt_address" with field "pid" with the current pid (e.g. 12) # tt_address.pid = TEXT # tt_address.pid.data = TSFE:id # fill table "tt_address" with field "tstamp" with the current time as timestamp (like 123456789) # tt_address.tstamp = TEXT # tt_address.tstamp.data = date:U # fill table "tt_address" with field "address" with the current formatted time (like "Date: 20.01.2013") # tt_address.address = TEXT # tt_address.address.data = date:U # tt_address.address.strftime = Date: %d.%m.%Y # fill table "tt_address" with field "name" with the value from powermail {firstname} # tt_address.name = TEXT # tt_address.name.field = firstname # fill table "tt_address" with field "last_name" with the value from powermail {lastname} # tt_address.last_name = TEXT # tt_address.last_name.field = lastname # fill table "tt_address" with field "company" with the value from powermail {company} # tt_address.company = TEXT # tt_address.company.field = company } # Switch on or off Debug mode debug { # All views: Show Settings from TypoScript, Flexform and Extension Manager settings = {$plugin.tx_powermail.settings.misc.debugSettings} # Create view: Show submitted variables variables = {$plugin.tx_powermail.settings.misc.debugVariables} # Create view: Show mail arrays mail = {$plugin.tx_powermail.settings.misc.debugMail} # Create view: Show saveToTable array saveToTable = {$plugin.tx_powermail.settings.misc.debugSaveToTable} # Create view: Show spamtest results spamshield = {$plugin.tx_powermail.settings.misc.debugSpamshield} } # Don't touch this (this is just to let the extension know, that there is TypoScript included) staticTemplate = 1 } } } config.tx_extbase.persistence.classes { Tx_Powermail_Domain_Model_User { mapping { tableName = fe_users } } Tx_Powermail_Domain_Model_UserGroup { mapping { tableName = fe_groups } } } ############################ # JavaScript and CSS section ############################ page { # Inlude JavaScript files includeJSFooterlibs { powermailJQuery = {$plugin.tx_powermail.settings.javascript.powermailJQuery} powermailJQuery.external = 1 powermailJQueryUi = {$plugin.tx_powermail.settings.javascript.powermailJQueryUi} powermailJQueryUi.external = 1 powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Js/jquery.ui.datepicker.min.js powermailJQueryFormValidationLanguage = EXT:powermail/Resources/Public/Js/jquery.validationEngine-en.js powermailJQueryFormValidation = EXT:powermail/Resources/Public/Js/jquery.validationEngine.js powermailJQueryTabs = EXT:powermail/Resources/Public/Js/tabs.js } includeJSFooter { powermailForm = EXT:powermail/Resources/Public/Js/form.js } # Include CSS files includeCSS { powermailJQueryUiTheme = EXT:powermail/Resources/Public/Css/jquery.ui.theme.css powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Css/jquery.ui.datepicker.css } } page.1000 = COA page.1000 { wrap = 10 = TEXT 10 { wrap = var JsValidationCheckCheckboxes = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckCheckboxes stdWrap.replacement { 10 { search = ' replace = \' } } } 20 < .10 20 { wrap = var JsValidationCheckInteger = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckInteger } 30 < .10 30 { wrap = var JsValidationCheckRequired = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckRequired } 40 < .10 40 { wrap = var JsValidationCheckRequiredOption = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckRequiredOption } 50 < .10 50 { wrap = var JsValidationCheckEmail = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckEmail } 60 < .10 60 { wrap = var JsValidationCheckUrl = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckUrl } 70 < .10 70 { wrap = var JsValidationCheckPhone = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckPhone } 80 < .10 80 { wrap = var JsValidationCheckLetters = '|'; data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckLetters } }