Download the PHP package webexmachina/contao-personal-data-manager without Composer

On this page you can find all versions of the php package webexmachina/contao-personal-data-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package contao-personal-data-manager

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

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.

Functionnalities

System requirements

Installation

Clone the extension from Packagist (Contao Manager)

Configuration

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

Encryption key

As this bundle uses 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

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

Eg :

This way, when saving a MyModel object, the real value of MyField will not be stored in the MyModel's table but in the Personal Data Manager one, and be associated with the corresponding MyModel's id and with the defined $personalDataPtable. MyField 'stored value in tl_my_table will be the one defined in MyMode::personalDataFieldsDefaultValues ('managed_by_pdm' in our example).

And when retrieving the MyModel object from the database, the Personal Data Manager will automatically fetch the associated personal data's and fill the MyModel's object accordingly.

Custom Table Driver

This bundles provides a Trait to allow grouping in back-end list to work. To make it work, you will need to define a custom DCA Table Driver (if you already have a custom one, you will still have to create another one, as the trait assume it works on a DCA with a model configured to use the personal data manager).

DCA

In your DCA, your need to add the following callbacks & driver:

This way, editing your records in back-end will work with the same as with the model.

:warning: If the data you are working on can be edited throught the contao's Personal data front end module, you will need to extends the load callbacks to precise on which table & field the front end callback should work !

PHP callback

YAML config file (like your/bundle/src/Resources/contao/config/services.yml)

DCA file

Usage

Both a back-end entry and a front-end module are provided to allow admin and users to show, export or anonymize their personal data.

Back-end

The user can enter an email address and all associated personal data are displayed. From there, the user can show, export or anonymize them.

Front-end

The front-end module needs to be registered in your theme.

The user has to enter an email address in the displayed form. An email containing a link to the current page with a token will be sent to the email address filled in the form. The token is valid for 5 minutes upon its creation. By clicking on the link provided in the email, the user will be redirected to the page where the front-end module lies, with the token as a GET parameter. From there, the user can show, export or anonymize their personal data.

Each action from the user make its token valid for 5 more minutes.

Hooks

Multiple hooks are available to customize the bundle. The list is available here.

Documentation

License

This extension is licensed under the terms of the Apache License 2.0. The full license text is available in the main folder.

Getting support

Visit the support page to submit an issue or just get in touch :)

Installing from Git

You can get the extension with this repository URL : Github


All versions of contao-personal-data-manager with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4 || ^8.0
contao/core-bundle Version ~4.13
webexmachina/contao-utils Version ^1.0 || ^2.0
plenta/contao-encryption Version ^2.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webexmachina/contao-personal-data-manager contains the following files

Loading the files please wait ....