eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

Installs: 692

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 1

Type:typo3-cms-extension

0.1.11 2021-11-30 10:21 UTC

README

Extension icon

TYPO3 extension form_consent

Coverage Tests CGL Latest Stable Version License

📦 Packagist | 🐥 TYPO3 extension repository | 💾 Repository | 🐛 Issue tracker

An extension for TYPO3 CMS that adds double opt-in functionality to EXT:form. It allows the dynamic adaptation of the entire double opt-in process using various events. In addition, the extension integrates seamlessly into TYPO3, for example to delete expired consents in compliance with the GDPR.

🚀 Features

  • Custom Consent form finisher for EXT:form
  • Stores all submitted form data as JSON in database
  • System-dependent hash-based validation system (using TYPO3's HMAC functionality)
  • Plugin to approve or dismiss a consent
  • Several events for better customization
  • Scheduler garbage collection task for expired consents
  • Dashboard widget for approved, non-approved and dismissed consents
  • Compatible with TYPO3 10.4 LTS and 11.5 LTS

🔥 Installation

composer require eliashaeussler/typo3-form-consent

⚡ Usage

A new finisher Consent is available in the backend form editor. It saves all submitted form data in the database and sends a corresponding mail to either approve or dismiss a given consent.

A plugin is required for approval or dismiss of the consent. The associated page containing the plugin must then be specified in the finisher settings.

📂 Configuration

Only the TypoScript setup under EXT:form_consent/Configuration/TypoScript needs to be included and the required database changes need to be made.

TypoScript

The following TypoScript constants are available:

TypoScript constant Description Required Default
plugin.tx_formconsent.persistence.storagePid Default storage PID for new consents 0
plugin.tx_formconsent.view.templateRootPath Path to template root for consent mail and validation plugin
plugin.tx_formconsent.view.partialRootPath Path to template partials for consent mail and validation plugin
plugin.tx_formconsent.view.layoutRootPath Path to template layouts for consent mail and validation plugin

Finisher options

The following options are available to the Consent finisher:

Finisher option Description Required Default
subject Mail subject Approve your consent
recipientAddress Recipient e-mail address
recipientName Recipient name
senderAddress Sender e-mail address System default sender e-mail address
senderName Sender name System default sender name
approvalPeriod Approval period 86400 (1 day), 0 = unlimited
showDismissLink Show dismiss link in consent mail false
confirmationPid Confirmation page (contains plugin)
storagePid Storage page plugin.tx_formconsent.persistence.storagePid
templateRootPaths Additional paths to template root
partialRootPaths Additional paths to template partials
layoutRootPaths Additional paths to template layouts

Note: Template paths that are configured via form finisher options are only applied to the appropriate form. They are merged with the default template paths configured via TypoScript.

💎 Credits

Icons made by Google from www.flaticon.com.

⭐ License

This project is licensed under GNU General Public License 2.0 (or later).