PHPackages                             webexmachina/contao-personal-data-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. webexmachina/contao-personal-data-manager

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

webexmachina/contao-personal-data-manager
=========================================

Personal Data Manager bundle for Contao Open Source CMS

v1.3.1(4mo ago)0246[1 issues](https://github.com/Web-Ex-Machina/contao-personal-data-manager/issues)4LGPL-3.0-or-laterPHPPHP ^7.4 || ^8.2

Since Jun 16Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/Web-Ex-Machina/contao-personal-data-manager)[ Packagist](https://packagist.org/packages/webexmachina/contao-personal-data-manager)[ Docs](https://www.webexmachina.fr/)[ RSS](/packages/webexmachina-contao-personal-data-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (15)Used By (4)

Personal Data Manager bundle for Contao Open Source CMS
=======================================================

[](#personal-data-manager-bundle-for-contao-open-source-cms)

The purpose of this project is to allow a better handling of personal data in Contao CMS.

Warning
-------

[](#warning)

Be aware that this bundle *alters* data registered in the database. So all entities managed by this bundles will have the encrypted data version in their database tables. Retrieving those data thanks to a configured model (see below) will not make a difference as before. However, SQL queries to directly work with the database could be a problem, as they will work on encrypted data.

eg : if you configure your `Member` model to be managed by this bundle, you will have to create an `EventListener` on the `SendNewsletterEvent` event, as it retrieves the newsletter recipients' data with an SQL query directly from `tl_member` instead of using the model. See [this example](docs/examples/members_and_newsletters/example.md).

Functionnalities
----------------

[](#functionnalities)

- Store personal data
- Retrieve personal data

System requirements
-------------------

[](#system-requirements)

- Contao 4.13

Installation
------------

[](#installation)

Clone the extension from Packagist (Contao Manager)

Configuration
-------------

[](#configuration)

First, you will need to define an encryption key. Then, models (and their associated DCA) need to be adjusted.

### Encryption key

[](#encryption-key)

As this bundle uses [`plenta/contao-encryption`](https://github.com/plenta/contao-encryption), an encryption key needs to be set. When the bundle is loaded, it checks wether the encryption key `plenta_contao_encryption.encryption_key` is set or not.

If not, it will look for ours, named `wem_pdm_encryption_key`, in the `/system/config/localconfig.php` file. And apply it to the `plenta_contao_encryption.encryption_key` container parameter.

### Model

[](#model)

Use the `WEM\PersonalDataManagerBundle\Model\Traits\PersonalDataTrait` trait in your Model and define the mandatories static properties.

Eg :

```
