Récemment
-
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2 -
PaypalAPI erreur
PhenixSuite53 -
Problèmes de prix avec plusieurs devises et PayPal
PhenixSuite6 -
Solutions de paiement...
Discussion générale5 -
Petit code pour les descriptions de produits
Discussion générale3 -
Feuilles de styles non chargées si smart cache activé [RÉSOLU]
PhenixSuite5 -
PayPal Module Error
Bugs & Améliorations2 -
Transient Bug after 1.6.2.31 Upgrade
Bugs & Améliorations2 -
blockcategory et left_column
BUG connus1 -
[REGLÉ] override - je n'y arrive pas.
Modules10 -
les routes sur mesures
Discussion générale6 -
Nouvelle attaque ?
Discussion générale11 -
Problème calcul HT
Bugs & Améliorations42 -
Erreur sur facture générée depuis le FO
PhenixSuite3 -
Factures ne se génèrent plus depuis 06/12 [RÉSOLU]
Bugs & Améliorations20 -
Edition en masse des déclinaisons
Nouvelles fonctionnalités4 -
Mise à niveau de Prestashop 1.6.24 vers PhenixSuite 1.6.30
Discussion générale2 -
Thème possible
Questions relatives à l'installation/upgrade2
Rendre le module mailjet GDPR
-
Bonjour,
Voici une astuce pour rendre le module mailjet RGPD
Avant toute chose la version du module utilisée est la 3.4.14 disponible ici :
https://github.com/mailjet/prestashop-mailjet-plugin-apiv3/releases
Ouvrir le fichier mailjet.php
A la fin du fichier ajouter avant le dernier }
public function hookActionExportGDPRData($customer) { if (!Tools::isEmpty($customer['email']) && Validate::isEmail($customer['email'])) { if (!$customer) { return false; } $initialSynchronization = new HooksSynchronizationSingleUser(MailjetTemplate::getApi()); $customerMailJet = $initialSynchronization->getCustomerByEmail($customer['email']); if( !$customerMailJet || empty($customerMailJet) ) { return json_encode($this->l('Mailjet : Unable to export customer using email.')); } $dateAdd = new DateTime($customerMailJet->Data[0]->CreatedAt); $dateLastActivity = new DateTime($customerMailJet->Data[0]->LastActivityAt); $return[] = [ $this->l('Email') => $customerMailJet->Data[0]->Email, $this->l('Date add') => $dateAdd->format('Y-m-d H:i:s'), $this->l('Newsletters sended') => $customerMailJet->Data[0]->DeliveredCount, $this->l('Last Activity') => $dateLastActivity->format('Y-m-d H:i:s'), ]; return json_encode($return); } } public function hookRegisterGDPRConsent($param) { return; }
Ouvrir le fichier classes/hooks/synchronization/SingleUser.php
Ajouter à la fin juste avant le dernier }
/** * Get Contact information by email * @param string $email * @return object */ public function getCustomerByEmail($email) { $apiOverlay = $this->getApiOverlay(); $contact= $apiOverlay->getContactByEmail($email); if (!$contact) { return false; } return $contact; }
Greffer le module sur le deux nouveaux hooks
Enjoy !
Dans la logique on a pas besoin du hook delete car il y a déjà une action sur les hook pour ça ... au pire c'est quelques lignes de codes