Example #1
0
 public function unsubscribeAction()
 {
     $newsletterMapper = new NewsletterMapper();
     $countEmail = $newsletterMapper->countEmails($this->getRequest()->getParam('email'));
     if ($countEmail == 1) {
         $newsletterMapper->deleteEmail($this->getRequest()->getParam('email'));
         $this->addMessage('unsubscribeSuccess');
     }
     $this->redirect(array('action' => 'index'));
 }
Example #2
0
 public function settingsAction()
 {
     $newsletterMapper = new NewsletterMapper();
     $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('menuPanel'), array('module' => 'user', 'controller' => 'panel', 'action' => 'index'))->add($this->getTranslator()->trans('menuSettings'), array('module' => 'user', 'controller' => 'panel', 'action' => 'settings'))->add($this->getTranslator()->trans('menuNewsletter'), array('controller' => 'index', 'action' => 'settings'));
     if ($this->getRequest()->isPost()) {
         $newsletterModel = new \Modules\Newsletter\Models\Newsletter();
         $newsletterModel->setId($this->getUser()->getId());
         $newsletterModel->setNewsletter($this->getRequest()->getPost('opt_newsletter'));
         $newsletterMapper->saveUserEmail($newsletterModel);
         $this->redirect(array('action' => 'settings'));
     }
     $this->getView()->set('countMail', $newsletterMapper->countEmails($this->getUser()->getEmail()));
 }
Example #3
0
 public function render()
 {
     $newsletterMapper = new NewsletterMapper();
     if ($this->getRequest()->getPost('saveNewsletterBox')) {
         $countEmails = $newsletterMapper->countEmails($this->getRequest()->getPost('email'));
         if ($countEmails == 0) {
             $newsletterModel = new \Modules\Newsletter\Models\Newsletter();
             $newsletterModel->setEmail($this->getRequest()->getPost('email'));
             $newsletterMapper->saveEmail($newsletterModel);
         } else {
             $newsletterMapper->deleteEmail($this->getRequest()->getPost('email'));
         }
     }
     $this->getView();
 }
Example #4
0
 public function indexAction()
 {
     $newsletterMapper = new NewsletterMapper();
     $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('settings'), array('action' => 'index'));
     if ($this->getRequest()->isPost()) {
         $newsletterModel = new NewsletterModel();
         foreach ($this->getRequest()->getPost('check_users') as $userEmail) {
             if ($userEmail != '') {
                 $newsletterModel->setEmail($userEmail);
                 $newsletterMapper->saveEmail($newsletterModel);
                 //$newsletterMapper->activeEmail($newsletterModel);
             }
         }
         $this->addMessage('saveSuccess');
     }
     $emails = $newsletterMapper->getMail();
     $this->getView()->set('emails', $emails);
     $userList = $newsletterMapper->getSendMailUser();
     $this->getView()->set('userList', $userList);
 }
Example #5
0
 public function treatAction()
 {
     $newsletterMapper = new NewsletterMapper();
     $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuNewsletter'), array('action' => 'index'))->add($this->getTranslator()->trans('add'), array('action' => 'treat'));
     if ($this->getRequest()->isPost()) {
         $newsletterModel = new NewsletterModel();
         $subject = trim($this->getRequest()->getPost('subject'));
         $text = trim($this->getRequest()->getPost('text'));
         if (empty($subject)) {
             $this->addMessage('missingSubject', 'danger');
         } elseif (empty($text)) {
             $this->addMessage('missingText', 'danger');
         } else {
             $date = new \Ilch\Date();
             $newsletterModel->setDateCreated($date);
             $newsletterModel->setUserId($this->getUser()->getId());
             $newsletterModel->setSubject($this->getRequest()->getPost('subject'));
             $newsletterModel->setText($this->getRequest()->getPost('text'));
             $newsletterMapper->save($newsletterModel);
             if ($_SESSION['layout'] == $this->getConfig()->get('default_layout') && file_exists(APPLICATION_PATH . '/layouts/' . $this->getConfig()->get('default_layout') . '/views/modules/newsletter/layouts/mail/newsletter.php')) {
                 $messageTemplate = file_get_contents(APPLICATION_PATH . '/layouts/' . $this->getConfig()->get('default_layout') . '/views/modules/newsletter/layouts/mail/newsletter.php');
             } else {
                 $messageTemplate = file_get_contents(APPLICATION_PATH . '/modules/newsletter/layouts/mail/newsletter.php');
             }
             $emails = $newsletterMapper->getMail();
             foreach ($emails as $email) {
                 $messageReplace = array('{subject}' => $this->getRequest()->getPost('subject'), '{content}' => $this->getRequest()->getPost('text'), '{sitetitle}' => $this->getConfig()->get('page_title'), '{date}' => $date->format("l, d. F Y", true), '{footer}' => $this->getTranslator()->trans('noReplyMailFooter'), '{unreadable}' => $this->getTranslator()->trans('mailUnreadable', $newsletterMapper->getLastId(), $email->getEmail()), '{unsubscribe}' => $this->getTranslator()->trans('mailUnsubscribe', $email->getEmail()));
                 $message = str_replace(array_keys($messageReplace), array_values($messageReplace), $messageTemplate);
                 $mail = new \Ilch\Mail();
                 $mail->setTo($email->getEmail(), '')->setSubject($this->getRequest()->getPost('subject'))->setFrom($this->getConfig()->get('standardMail'), $this->getConfig()->get('page_title'))->setMessage($message)->addGeneralHeader('Content-type', 'text/html; charset="utf-8"');
                 $mail->send();
             }
             $this->addMessage('sendSuccess');
             $this->redirect(array('action' => 'index'));
         }
     }
     $emails = $newsletterMapper->getMail();
     $this->getView()->set('emails', $emails);
 }