|  | @@ -0,0 +1,266 @@
 | 
											
												
													
														|  | 
 |  | +diff --git a/simplenews_mailjet_subscriptions.info.yml b/simplenews_mailjet_subscriptions.info.yml
 | 
											
												
													
														|  | 
 |  | +index 2512a39..d4b0440 100644
 | 
											
												
													
														|  | 
 |  | +--- a/simplenews_mailjet_subscriptions.info.yml
 | 
											
												
													
														|  | 
 |  | ++++ b/simplenews_mailjet_subscriptions.info.yml
 | 
											
												
													
														|  | 
 |  | +@@ -7,3 +7,4 @@ package: Mail
 | 
											
												
													
														|  | 
 |  | + configure: simplenews_mailjet_subscription.list
 | 
											
												
													
														|  | 
 |  | + dependencies:
 | 
											
												
													
														|  | 
 |  | +   - simplenews:simplenews
 | 
											
												
													
														|  | 
 |  | ++  - mailjet:mailjet
 | 
											
												
													
														|  | 
 |  | +diff --git a/simplenews_mailjet_subscriptions.module b/simplenews_mailjet_subscriptions.module
 | 
											
												
													
														|  | 
 |  | +index 09abe13..4b2ee58 100644
 | 
											
												
													
														|  | 
 |  | +--- a/simplenews_mailjet_subscriptions.module
 | 
											
												
													
														|  | 
 |  | ++++ b/simplenews_mailjet_subscriptions.module
 | 
											
												
													
														|  | 
 |  | +@@ -7,7 +7,7 @@
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | + use Drupal\Core\Routing\RouteMatchInterface;
 | 
											
												
													
														|  | 
 |  | + use Drupal\simplenews\Entity\Subscriber;
 | 
											
												
													
														|  | 
 |  | +-use Drupal\simplenews_mailjet_subscriptions\SimplenewsMailjetSubscriptionsUtilities;
 | 
											
												
													
														|  | 
 |  | ++// use Drupal\simplenews_mailjet_subscriptions\SimplenewsMailjetSubscriptionsUtilities;
 | 
											
												
													
														|  | 
 |  | + use Drupal\simplenews_mailjet_subscriptions\Entity\SimplenewsMailjetSubscriptionEntity;
 | 
											
												
													
														|  | 
 |  | + use Drupal\Component\Utility\Html;
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +@@ -24,18 +24,18 @@ use Drupal\Component\Utility\Html;
 | 
											
												
													
														|  | 
 |  | + function simplenews_mailjet_subscriptions_simplenews_subscribe(Subscriber $subscriber, string $subscription) {
 | 
											
												
													
														|  | 
 |  | +   $entities = SimplenewsMailjetSubscriptionEntity::loadMultiple();
 | 
											
												
													
														|  | 
 |  | +   foreach ((array) $entities as $entity) {
 | 
											
												
													
														|  | 
 |  | +-    $api_key = $entity->getApiKey();
 | 
											
												
													
														|  | 
 |  | +-    $secret_key = $entity->getSecretkey();
 | 
											
												
													
														|  | 
 |  | +     $listID = $entity->getID();
 | 
											
												
													
														|  | 
 |  | +     $table = $entity->get('mapping_table');
 | 
											
												
													
														|  | 
 |  | +     if (is_array($table)) {
 | 
											
												
													
														|  | 
 |  | +       foreach ($table as $category) {
 | 
											
												
													
														|  | 
 |  | +         if ($category['simplenews_news'] == $subscription) {
 | 
											
												
													
														|  | 
 |  | +-          SimplenewsMailjetSubscriptionsUtilities::subscribeUser($subscriber, $subscription, $category, $api_key, $secret_key, $listID);
 | 
											
												
													
														|  | 
 |  | ++          // SimplenewsMailjetSubscriptionsUtilities::subscribeUser($subscriber, $category);
 | 
											
												
													
														|  | 
 |  | ++          \Drupal::service('simplenews_mailjet_subscriptions.utilities')->subscribeUser($listID, $subscriber, $category);
 | 
											
												
													
														|  | 
 |  | +         }
 | 
											
												
													
														|  | 
 |  | +       }
 | 
											
												
													
														|  | 
 |  | +     }
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | ++  // \Drupal::service('simplenews_mailjet_subscriptions.utilities')->subscribeUser($subscriber, $subscription);
 | 
											
												
													
														|  | 
 |  | + }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | + /**
 | 
											
												
													
														|  | 
 |  | +@@ -51,19 +51,19 @@ function simplenews_mailjet_subscriptions_simplenews_subscribe(Subscriber $subsc
 | 
											
												
													
														|  | 
 |  | + function simplenews_mailjet_subscriptions_simplenews_unsubscribe(Subscriber $subscriber, string $subscription) {
 | 
											
												
													
														|  | 
 |  | +   $entities = SimplenewsMailjetSubscriptionEntity::loadMultiple();
 | 
											
												
													
														|  | 
 |  | +   foreach ((array) $entities as $entity) {
 | 
											
												
													
														|  | 
 |  | +-    $api_key = $entity->getApiKey();
 | 
											
												
													
														|  | 
 |  | +-    $secret_key = $entity->getSecretkey();
 | 
											
												
													
														|  | 
 |  | +     $listID = $entity->getID();
 | 
											
												
													
														|  | 
 |  | +     $table = $entity->get('mapping_table');
 | 
											
												
													
														|  | 
 |  | +     if (is_array($table)) {
 | 
											
												
													
														|  | 
 |  | +       foreach ($table as $category) {
 | 
											
												
													
														|  | 
 |  | +         if ($category['simplenews_news'] == $subscription) {
 | 
											
												
													
														|  | 
 |  | +           // Unsubscribe.
 | 
											
												
													
														|  | 
 |  | +-          SimplenewsMailjetSubscriptionsUtilities::unsubscribeUser($subscriber, $subscription, $category, $api_key, $secret_key, $listID);
 | 
											
												
													
														|  | 
 |  | ++          // SimplenewsMailjetSubscriptionsUtilities::unsubscribeUser($subscriber, $category);
 | 
											
												
													
														|  | 
 |  | ++          \Drupal::service('simplenews_mailjet_subscriptions.utilities')->unsubscribeUser($listID, $subscriber, $category);
 | 
											
												
													
														|  | 
 |  | +         }
 | 
											
												
													
														|  | 
 |  | +       }
 | 
											
												
													
														|  | 
 |  | +     }
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | ++  // \Drupal::service('simplenews_mailjet_subscriptions.utilities')->unsubscribeUser($subscriber, $subscription);
 | 
											
												
													
														|  | 
 |  | + }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | + /**
 | 
											
												
													
														|  | 
 |  | +diff --git a/simplenews_mailjet_subscriptions.services.yml b/simplenews_mailjet_subscriptions.services.yml
 | 
											
												
													
														|  | 
 |  | +new file mode 100644
 | 
											
												
													
														|  | 
 |  | +index 0000000..cdd4137
 | 
											
												
													
														|  | 
 |  | +--- /dev/null
 | 
											
												
													
														|  | 
 |  | ++++ b/simplenews_mailjet_subscriptions.services.yml
 | 
											
												
													
														|  | 
 |  | +@@ -0,0 +1,4 @@
 | 
											
												
													
														|  | 
 |  | ++services:
 | 
											
												
													
														|  | 
 |  | ++  simplenews_mailjet_subscriptions.utilities:
 | 
											
												
													
														|  | 
 |  | ++    class: Drupal\simplenews_mailjet_subscriptions\SimplenewsMailjetSubscriptionsUtilities
 | 
											
												
													
														|  | 
 |  | ++    arguments: [ '@mailjet.handler' ]
 | 
											
												
													
														|  | 
 |  | +diff --git a/src/SimplenewsMailjetSubscriptionsUtilities.php b/src/SimplenewsMailjetSubscriptionsUtilities.php
 | 
											
												
													
														|  | 
 |  | +index 950ff8a..05601ca 100644
 | 
											
												
													
														|  | 
 |  | +--- a/src/SimplenewsMailjetSubscriptionsUtilities.php
 | 
											
												
													
														|  | 
 |  | ++++ b/src/SimplenewsMailjetSubscriptionsUtilities.php
 | 
											
												
													
														|  | 
 |  | +@@ -2,141 +2,79 @@
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | + namespace Drupal\simplenews_mailjet_subscriptions;
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | ++use Drupal\mailjet\MailjetHandlerInterface;
 | 
											
												
													
														|  | 
 |  | ++
 | 
											
												
													
														|  | 
 |  | + /**
 | 
											
												
													
														|  | 
 |  | +- * Provides a list of Simplenews Mailjet Subscription entities.
 | 
											
												
													
														|  | 
 |  | ++ * Utilisties
 | 
											
												
													
														|  | 
 |  | +  */
 | 
											
												
													
														|  | 
 |  | + class SimplenewsMailjetSubscriptionsUtilities {
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +   /**
 | 
											
												
													
														|  | 
 |  | +-   * Check Subscriber.
 | 
											
												
													
														|  | 
 |  | ++   * MailjetHandler service.
 | 
											
												
													
														|  | 
 |  | ++   *
 | 
											
												
													
														|  | 
 |  | ++   * @var \Drupal\mailjet\MailjetHandlerInterface
 | 
											
												
													
														|  | 
 |  | +    */
 | 
											
												
													
														|  | 
 |  | +-  private static function checkSubscriber($api_key, $secret_key, $encoded_mail) {
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    // Check if contact exist
 | 
											
												
													
														|  | 
 |  | +-    // verifica se o contacto ja tem opções.
 | 
											
												
													
														|  | 
 |  | +-    $endpoint = 'https://api.mailjet.com/v3/REST/contactdata/' . $encoded_mail;
 | 
											
												
													
														|  | 
 |  | +-    $ch = curl_init();
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_USERPWD, $api_key . ':' . $secret_key);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_URL, $endpoint);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 | 
											
												
													
														|  | 
 |  | +-    $response = curl_exec($ch);
 | 
											
												
													
														|  | 
 |  | +-    curl_close($ch);
 | 
											
												
													
														|  | 
 |  | +-    $json = json_decode($response, TRUE);
 | 
											
												
													
														|  | 
 |  | ++  protected $mailjetHandler;
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +-    return $json;
 | 
											
												
													
														|  | 
 |  | ++/**
 | 
											
												
													
														|  | 
 |  | ++   * SubscribeEmailForm constructor.
 | 
											
												
													
														|  | 
 |  | ++   *
 | 
											
												
													
														|  | 
 |  | ++   * @param \Drupal\mailjet\MailjetHandlerInterface $mailjetHandler
 | 
											
												
													
														|  | 
 |  | ++   *   The mailjet handler service.
 | 
											
												
													
														|  | 
 |  | ++   */
 | 
											
												
													
														|  | 
 |  | ++  public function __construct(MailjetHandlerInterface $mailjetHandler) {
 | 
											
												
													
														|  | 
 |  | ++    $this->mailjetHandler = $mailjetHandler;
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +   /**
 | 
											
												
													
														|  | 
 |  | +-   * Update Subscriber.
 | 
											
												
													
														|  | 
 |  | ++   * {@inheritDoc}
 | 
											
												
													
														|  | 
 |  | +    */
 | 
											
												
													
														|  | 
 |  | +-  private static function updateSubscriber($api_key, $secret_key, $listID, $subscriber_email, $contact_property, $newsletter_property_name, $action) {
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    // Add contact to mailjet.
 | 
											
												
													
														|  | 
 |  | +-    $endpoint = 'https://api.mailjet.com/v3/REST/contactslist/' . $listID . '/managecontact';
 | 
											
												
													
														|  | 
 |  | +-    $message = [
 | 
											
												
													
														|  | 
 |  | +-      "Properties" => [
 | 
											
												
													
														|  | 
 |  | +-        $contact_property => $newsletter_property_name,
 | 
											
												
													
														|  | 
 |  | +-      ],
 | 
											
												
													
														|  | 
 |  | +-      "Action" => $action,
 | 
											
												
													
														|  | 
 |  | +-      "Email" => $subscriber_email,
 | 
											
												
													
														|  | 
 |  | +-    ];
 | 
											
												
													
														|  | 
 |  | +-    $payload = json_encode($message);
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    $ch = curl_init();
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_POST, 1);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_USERPWD, $api_key . ':' . $secret_key);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_URL, $endpoint);
 | 
											
												
													
														|  | 
 |  | +-    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 | 
											
												
													
														|  | 
 |  | +-    $response = curl_exec($ch);
 | 
											
												
													
														|  | 
 |  | +-    curl_close($ch);
 | 
											
												
													
														|  | 
 |  | +-    $json = json_decode($response, TRUE);
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    return $json;
 | 
											
												
													
														|  | 
 |  | ++  public static function create(ContainerInterface $container) {
 | 
											
												
													
														|  | 
 |  | ++    return new static(
 | 
											
												
													
														|  | 
 |  | ++      $container->get('mailjet.handler')
 | 
											
												
													
														|  | 
 |  | ++    );
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +   /**
 | 
											
												
													
														|  | 
 |  | +    * Subscribe User.
 | 
											
												
													
														|  | 
 |  | +    */
 | 
											
												
													
														|  | 
 |  | +-  public static function subscribeUser($subscriber, $subscription, $category, $api_key, $secret_key, $listID) {
 | 
											
												
													
														|  | 
 |  | ++  public function subscribeUser($listID, $subscriber, $category) {
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +     $contact_property = $category['contact_property'];
 | 
											
												
													
														|  | 
 |  | +     $newsletter_property_name = $category['newsletter_property_name'];
 | 
											
												
													
														|  | 
 |  | +     $subscriber_email = $subscriber->getMail();
 | 
											
												
													
														|  | 
 |  | +-    $encoded_mail = urlencode($subscriber_email);
 | 
											
												
													
														|  | 
 |  | +-    $response = '';
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    $contact_info = self::checkSubscriber($api_key, $secret_key, $encoded_mail);
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    $options = $contact_info['Data'];
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    // Se existe - acrescenta a opções.
 | 
											
												
													
														|  | 
 |  | +-    if ($options[0]['Data']) {
 | 
											
												
													
														|  | 
 |  | +-      foreach ($options[0]['Data'] as $property) {
 | 
											
												
													
														|  | 
 |  | +-        if ($property["Name"] == $contact_property) {
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-          if (is_int(strpos($property['Value'], $newsletter_property_name))) {
 | 
											
												
													
														|  | 
 |  | +-            $newsletter_property_name = $property['Value'];
 | 
											
												
													
														|  | 
 |  | +-          }
 | 
											
												
													
														|  | 
 |  | +-          else {
 | 
											
												
													
														|  | 
 |  | +-            $newsletter_property_name = $property['Value'] . ';' . $newsletter_property_name;
 | 
											
												
													
														|  | 
 |  | +-          }
 | 
											
												
													
														|  | 
 |  | +-        }
 | 
											
												
													
														|  | 
 |  | +-      }
 | 
											
												
													
														|  | 
 |  | +-    }
 | 
											
												
													
														|  | 
 |  | ++    $contact = [
 | 
											
												
													
														|  | 
 |  | ++      'Email' => $subscriber_email,
 | 
											
												
													
														|  | 
 |  | ++      'Properties' => [
 | 
											
												
													
														|  | 
 |  | ++        $contact_property => $newsletter_property_name
 | 
											
												
													
														|  | 
 |  | ++      ]
 | 
											
												
													
														|  | 
 |  | ++    ];
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +-    $response = self::updateSubscriber($api_key, $secret_key, $listID, $subscriber_email, $contact_property, $newsletter_property_name, 'addnoforce');
 | 
											
												
													
														|  | 
 |  | +-    $contact_id = $response['Data'][0]['ContactID'];
 | 
											
												
													
														|  | 
 |  | +-    \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $contact_id . ' subscribed to the ' . $contact_property . ' properties with the ' . $newsletter_property_name . ' values in the list ' . $listID . '.');
 | 
											
												
													
														|  | 
 |  | +-    return $response;
 | 
											
												
													
														|  | 
 |  | ++    // $response = $this->updateSubscriber($listID, $contact, 'addnoforce');
 | 
											
												
													
														|  | 
 |  | ++    $response = $this->mailjetHandler->syncMailjetContact($listID, $contact, 'addnoforce');
 | 
											
												
													
														|  | 
 |  | ++    // $contact_id = $response['Data'][0]['ContactID'];
 | 
											
												
													
														|  | 
 |  | ++    \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $subscriber_email . ' subscribed to the ' . $listID . ' list .');
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +   /**
 | 
											
												
													
														|  | 
 |  | +    * Unsubscribe User.
 | 
											
												
													
														|  | 
 |  | +    */
 | 
											
												
													
														|  | 
 |  | +-  public static function unsubscribeUser($subscriber, $subscription, $category, $api_key, $secret_key, $listID) {
 | 
											
												
													
														|  | 
 |  | ++  public function unsubscribeUser($listID, $subscriber, $category) {
 | 
											
												
													
														|  | 
 |  | +     $contact_property = $category['contact_property'];
 | 
											
												
													
														|  | 
 |  | +     $newsletter_property_name = $category['newsletter_property_name'];
 | 
											
												
													
														|  | 
 |  | +     $subscriber_email = $subscriber->getMail();
 | 
											
												
													
														|  | 
 |  | +-    $encoded_mail = urlencode($subscriber_email);
 | 
											
												
													
														|  | 
 |  | +-    $response = '';
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    $contact_info = self::checkSubscriber($api_key, $secret_key, $encoded_mail);
 | 
											
												
													
														|  | 
 |  | +-    $contact_id = $contact_info['ContactID'];
 | 
											
												
													
														|  | 
 |  | +-    $options = $contact_info['Data'];
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-    if ($options[0]['Data']) {
 | 
											
												
													
														|  | 
 |  | +-      foreach ($options[0]['Data'] as $property) {
 | 
											
												
													
														|  | 
 |  | +-        if ($property["Name"] == $contact_property) {
 | 
											
												
													
														|  | 
 |  | +-          if (substr_count($property['Value'], ';') == 0) {
 | 
											
												
													
														|  | 
 |  | +-            $newsletter_property_name = '';
 | 
											
												
													
														|  | 
 |  | +-            $response = self::updateSubscriber($api_key, $secret_key, $listID, $subscriber_email, $contact_property, $newsletter_property_name, 'remove');
 | 
											
												
													
														|  | 
 |  | +-            $contact_id = $response['Data'][0]['ContactID'];
 | 
											
												
													
														|  | 
 |  | +-            \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $contact_id . ' unsubscribed to the list ' . $listID . '.');
 | 
											
												
													
														|  | 
 |  | +-          }
 | 
											
												
													
														|  | 
 |  | +-          else {
 | 
											
												
													
														|  | 
 |  | +-            $pos = strpos($property['Value'], $newsletter_property_name);
 | 
											
												
													
														|  | 
 |  | +-            \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $contact_id . ' unsubscribed to the ' . $contact_property . ' properties with the ' . $newsletter_property_name . ' values in the list ' . $listID . '.');
 | 
											
												
													
														|  | 
 |  | +-            if ($pos === 0) {
 | 
											
												
													
														|  | 
 |  | +-              $newsletter_property_name = str_replace($newsletter_property_name . ';', '', $property['Value']);
 | 
											
												
													
														|  | 
 |  | +-            }
 | 
											
												
													
														|  | 
 |  | +-            else {
 | 
											
												
													
														|  | 
 |  | +-              $newsletter_property_name = str_replace(';' . $newsletter_property_name, '', $property['Value']);
 | 
											
												
													
														|  | 
 |  | +-            }
 | 
											
												
													
														|  | 
 |  | +-            $response = self::updateSubscriber($api_key, $secret_key, $listID, $subscriber_email, $contact_property, $newsletter_property_name, 'addnoforce');
 | 
											
												
													
														|  | 
 |  | +-            $contact_id = $response['Data'][0]['ContactID'];
 | 
											
												
													
														|  | 
 |  | +-            \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $contact_id . 'remains subscribed to the ' . $contact_property . ' properties with the ' . $newsletter_property_name . ' values in the list ' . $listID . '.');
 | 
											
												
													
														|  | 
 |  | +-
 | 
											
												
													
														|  | 
 |  | +-          }
 | 
											
												
													
														|  | 
 |  | +-        }
 | 
											
												
													
														|  | 
 |  | +-      }
 | 
											
												
													
														|  | 
 |  | +-    }
 | 
											
												
													
														|  | 
 |  | ++    $contact = [
 | 
											
												
													
														|  | 
 |  | ++      'Email' => $subscriber_email,
 | 
											
												
													
														|  | 
 |  | ++      'Properties' => [
 | 
											
												
													
														|  | 
 |  | ++        $contact_property => $newsletter_property_name
 | 
											
												
													
														|  | 
 |  | ++      ]
 | 
											
												
													
														|  | 
 |  | ++    ];
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | +-    return $response;
 | 
											
												
													
														|  | 
 |  | ++    // $response = $this->updateSubscriber($subscriber_email, $newsletter_property_name, 'remove');
 | 
											
												
													
														|  | 
 |  | ++    $response = $this->mailjetHandler->syncMailjetContact($listID, $contact, 'remove');
 | 
											
												
													
														|  | 
 |  | ++    // $contact_id = $response['Data'][0]['ContactID'];
 | 
											
												
													
														|  | 
 |  | ++    \Drupal::logger('simplenews_mailjet_subscriptions')->notice('The mailjet user ' . $subscriber_email . ' removed from the ' . $listID . ' list ');
 | 
											
												
													
														|  | 
 |  | ++    // return $response;
 | 
											
												
													
														|  | 
 |  | +   }
 | 
											
												
													
														|  | 
 |  | + 
 | 
											
												
													
														|  | 
 |  | + }
 |