/** * Unsubscription form * * @return Nette\Forms\Form */ public static function getUnsubscriptionForm() { $form = \SimpleSubscribe\Forms::unsubscriptionForm(); if ($form->isSubmitted() && $form->isValid()) { try { $subscribers = \SimpleSubscribe\RepositorySubscribers::getInstance(); $formValues = $form->getValues(); $subscribers->deleteOrDeactivateByEmail($formValues->email); $form->setValues(array(), TRUE); } catch (RepositarySubscribersException $e) { $form->addError($e->getMessage()); } } return $form; }
/** * Constructor */ public function __construct() { // admin actions add_action('admin_init', array($this, 'adminInit')); add_action('admin_menu', array($this, 'adminMenu')); add_action('admin_notices', array($this, 'adminNotices')); add_action('admin_enqueue_scripts', function () { wp_enqueue_style('core', SUBSCRIBE_ASSETS . 'styleAdmin.css', null, '2.0'); wp_enqueue_script('netteForms', SUBSCRIBE_ASSETS . 'netteForms.js', array(), '1.0.0'); }); // settings & forms $this->settings = new \SimpleSubscribe\Settings(SUBSCRIBE_KEY); $this->subscribers = \SimpleSubscribe\RepositorySubscribers::getInstance(); $this->log = \SimpleSubscribe\RepositoryLog::getInstance(); $this->email = \SimpleSubscribe\Email::getInstance(); $this->formSettings = \SimpleSubscribe\Forms::settings($this->settings->getSettings()); $this->formEmailTemplate = \SimpleSubscribe\Forms::emailTemplate($this->settings->getSettings()); $this->formEmail = \SimpleSubscribe\Forms::email($_GET); $this->formSubscriber = \SimpleSubscribe\Forms::subscribeAdmin($this->settings->getTableColumns()); $this->formSubscriberWp = \SimpleSubscribe\Forms::subscribeAdminWp($this->subscribers->getAllRegisteredInactive()); $this->formEmailPreview = \SimpleSubscribe\Forms::emailPreview(); }
/** * Unsubscription form * * @param bool $widget * @param array $args * @return Nette\Templating\FileTemplate */ public static function unsubscriptionForm($widget = FALSE, $args = array()) { $widgetMessage = ''; $widgetTitle = isset($args['title']) && !empty($args['title']) ? $args['title'] : 'Unsubscribe'; $widgetId = isset($args['widget_id']) ? $args['widget_id'] : NULL; $form = \SimpleSubscribe\Forms::unsubscriptionForm($widget, $widgetId); if ($form->isSubmitted() && $form->isValid()) { try { $subscribers = \SimpleSubscribe\RepositorySubscribers::getInstance(); $formValues = $form->getValues(); $subscribers->deleteOrDeactivateByEmail($formValues->email); $widgetMessage = '<strong>You have successfully unsubscribed. We\'re sorry to see you leave!</strong>'; $form = ''; } catch (RepositarySubscribersException $e) { $form->addError($e->getMessage()); } } if ($widget) { // defaults $defaults = array('beforeWidget' => $args['before_widget'], 'beforeTitle' => $args['before_title'], 'afterTitle' => $args['after_title'], 'widgetTitle' => $widgetTitle, 'message' => $widgetMessage, 'guts' => $form, 'afterWidget' => $args['after_widget']); // template $template = new \SimpleSubscribe\Template('widget.latte'); $template->prepareTemplate($defaults); } else { // defaults $defaults = array('title' => 'Unsubscribe', 'message' => $widgetMessage, 'guts' => $form); // template $template = new \SimpleSubscribe\Template('shortcode.latte'); $template->prepareTemplate($defaults); } return $template->getTemplate(); }