/** * Añade un mail al newsletter * * @param bool|string $mail mail que será añadido al newsletter. * @return string mensaje de error o de éxito. * @throws Exception si el algún setting del Newsletter no ha sido configurado. */ public static function Add($mail = false) { $handle = new Mensajes(); $mail = (string) $mail; if (!$mail || !is_email($mail)) { $handle->add_error('No se ha recibido un mail válido'); } else { require_once '../php-sdk-development/src/Ctct/autoload.php'; $cc = new ConstantContact(NewsletterHelper::ApiKey()); $list = NewsletterHelper::ListNumber(); try { $response = $cc->getContactByEmail(NewsletterHelper::AccessToken(), $mail); if (empty($response->results)) { $contact = new Contact(); $contact->addEmail($mail); $contact->addList($list); $returnContact = $cc->addContact(NewsletterHelper::AccessToken(), $contact, true); } else { $contact = $response->results[0]; $contact->addList($list); $returnContact = $cc->updateContact(NewsletterHelper::AccessToken(), $contact, true); } $handle->add_mensaje('Tu correo se ha añadido correctamente a la lista'); } catch (CtctException $ex) { $errores = reset($ex->getErrors()); $handle->add_error($errores['error_message']); } } return $handle->imprimir(false, true); //.'<script>finalizar_subscripcion();</script>'; }
/** * Añade un mail al newsletter * * @param bool|string $mail mail que será añadido al newsletter. * @return string mensaje de error o de éxito. * @throws Exception si el algún setting del Newsletter no ha sido configurado. */ public static function Add($mail = false) { global $mensaje; $mail = (string) $mail; if (!$mail || filter_var($mail, FILTER_VALIDATE_EMAIL) === false) { $mensaje->add_error('No se ha recibido un mail válido'); } else { try { $cc = new ConstantContact(NewsletterHelper::ApiKey()); $list = NewsletterHelper::ListNumber(); $response = $cc->contactService->getContacts(NewsletterHelper::AccessToken(), array('email' => $mail)); // Parameters $actionByVisitor = true; $params = array(); if ($actionByVisitor == true) { $params['action_by'] = "ACTION_BY_VISITOR"; } if (empty($response->results)) { $contact = new Contact(); $contact->addEmail($mail); $contact->addList($list); $returnContact = $cc->contactService->addContact(NewsletterHelper::AccessToken(), $contact, $params); } else { /** * @var $contact Contact */ $contact = $response->results[0]; $contact->addList($list); $returnContact = $cc->contactService->updateContact(NewsletterHelper::AccessToken(), $contact, $params); } $mensaje->add_mensaje('Tu correo se ha añadido correctamente a la lista'); } catch (Exception $ex) { if ($ex instanceof CtctException) { $allErrors = $ex->getErrors(); $errores = reset($allErrors); $mensaje->add_error($errores->error_message); } else { $mensaje->add_error($ex->getMessage()); } } } }
/** * Añade un mail al newsletter * * @param bool|string $mail mail que será añadido al newsletter. * @return string mensaje de error o de éxito. * @throws Exception si el algún setting del Newsletter no ha sido configurado. */ public static function Add($mail = false) { global $mensaje; $mail = (string) $mail; if (!$mail || !is_email($mail)) { $mensaje->add_error('No se ha recibido un mail válido'); } else { try { $cc = new ConstantContact(NewsletterHelper::ApiKey()); $list = NewsletterHelper::ListNumber(); $response = $cc->getContactByEmail(NewsletterHelper::AccessToken(), $mail); if (empty($response->results)) { $contact = new Contact(); $contact->addEmail($mail); $contact->addList($list); $returnContact = $cc->addContact(NewsletterHelper::AccessToken(), $contact, true); } else { $contact = $response->results[0]; $contact->addList($list); $returnContact = $cc->updateContact(NewsletterHelper::AccessToken(), $contact, true); } $mensaje->add_mensaje('Tu correo se ha añadido correctamente a la lista'); } catch (Exception $ex) { if ($ex instanceof CtctException) { $errores = reset($ex->getErrors()); $mensaje->add_error($errores['error_message']); } else { $mensaje->add_error($ex->getMessage()); } } } }