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')); }
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())); }
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(); }
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); }
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); }