aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    Rendre le module mailjet GDPR

    Planifier Épinglé Verrouillé Déplacé Tutoriels
    1 Messages 1 Publieurs 509 Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • O Hors-ligne
      okom3pom legacy
      dernière édition par

      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 !

      0_1530016824018_mail-jet-gdpr.png

      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

      1 réponse Dernière réponse Répondre Citer 1
      • Premier message
        Dernier message
      bug
      26 sujets
      1.6
      24 sujets
      front-office
      11 sujets
      1.5
      8 sujets
      1.7
      5 sujets
      système
      4 sujets
      administration
      3 sujets
      hack
      3 sujets
      module
      3 sujets
      performance
      3 sujets
      smtp
      3 sujets
      transporteurs
      3 sujets
      dashboard
      2 sujets
      https
      2 sujets
      paypal
      2 sujets
      promotions
      2 sujets