Extension icon

Extension icon

Coverage Tests CGL Latest Stable Version License

:package: Packagist | :hatched_chick: TYPO3 extension repository | :floppy_disk: Repository | :bug: 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.

rocket

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

fire

Installation


composer require eliashaeussler/typo3-form-consent
zap

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.

open_file_folder

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

x

0

**``plugin.tx_formconsent .view.templateRootPath``* *

Path to template root for consent mail and validation plugin

x

``plugin.tx_formconsent .view.partialRootPath``

Path to template partials for consent mail and validation plugin

x

``plugin.tx_formconsent .view.layoutRootPath``

Path to template layouts for consent mail and validation plugin

x

Finisher options

The following options are available to the Consent finisher:

Finisher option

Description

Required

Default

``subject``

Mail subject

x

Approve your conse nt

``recipientAddress` `

Recipient e-mail address

:white_chec k_mark:

``recipientName``

Recipient name

x

``senderAddress``

Sender e-mail address

x

System default sender e-mail address

``senderName``

Sender name

x

System default sender name

**``approvalPeriod``* *

Approval period

:white_chec k_mark:

86400 (1 day), 0 = unlimited

**showDismissLink **

Show dismiss link in consent mail

x

false

**confirmationPid **

Confirmation page (contains plugin)

:white_chec k_mark:

``storagePid``

Storage page

x

plugin.t x_formcons ent.persis tence.stor agePid

``templateRootPaths ``

Additional paths to template root

x

``partialRootPaths` `

Additional paths to template partials

x

**layoutRootPaths **

Additional paths to template layouts

x

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.

gem

Credits


Icons made by Google from www.flaticon.com.

star

License


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