示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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();
 }