/** @inheritdoc */ function updateUser(User $user, array $lists = []) { $contact = []; $contact['contact'] = ['email' => $user->getEmail(), 'first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'phone' => $user->getPhoneNumber()]; try { $userId = $lists[0][0]; $this->connector->request("PUT", "contacts/{$userId}", json_encode($contact)); } catch (\Exception $ex) { } return null; }
/** @inheritdoc */ function updateUser(User $user, array $lists = []) { foreach ($lists as $list) { $userHash = $list[0]; $listId = $list[1]; $this->connector->request("/lists/{$listId}/members/{$userHash}", ['email_address' => $user->getEmail(), 'merge_fields' => ['FNAME' => $user->getFirstName(), 'LNAME' => $user->getLastName(), 'EMAIL' => "*****@*****.**"], 'merge_vars' => ['EMAIL' => "*****@*****.**"], 'replace_interests' => false], "PATCH"); } }
/** * @inheritdoc */ public function subscribeUser(User $user, $listId) { $driver = $this->getDriverByListId($listId); $this->checkDriverConfiguration($driver); $newsletters = $this->em->getRepository('NecktieNewsletterBundle:Newsletter'); $row = $newsletters->findBy(['listID' => $listId, 'user' => $user]); if ($row) { throw new NewsletterException('This user(' . $user->getId() . ') is already subscribed in list "' . $listId . '".'); } try { $this->em->beginTransaction(); $s = $driver->subscribe($user, $listId); $n = new Newsletter(); $n->setListID($listId); $n->setUser($user); $n->setMemberID($s); $n->setService($driver->getName()); $this->em->persist($n); $this->em->flush(); $this->em->commit(); return $s; } catch (\Exception $ex) { $this->em->rollback(); $this->logger->addWarning($ex); } return null; }