/** * Add all the subscribers to the queue */ public static function add_all_to_queue($news_id) { $subscribers = NewslettersSubscribers::get_active_subscribers(); foreach ($subscribers as $subscriber) { self::add_to_queue($subscriber['subscriber_id'], $news_id); } return true; }
public function optoutAction() { $email = $this->getRequest()->getParam('id'); if (NewslettersSubscribers::optOut($email)) { $this->_helper->redirector('index', 'index', 'default', array('mex' => "You have unsubscribed our newsletter correctly.")); } else { $this->_helper->redirector('index', 'index', 'default', array('mex' => "There was a problem during the email registration, please check your email address.")); } }
/** * processAction * Update the record previously selected * @return unknown_type */ public function processAction() { $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); $form = $this->getForm("/admin/subscribers/process"); $request = $this->getRequest(); // Create the buttons in the edit form $this->view->buttons = array(array("url" => "#", "label" => $this->translator->translate('Save'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/subscribers/list", "label" => $this->translator->translate('List'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/subscribers/new/", "label" => $this->translator->translate('New'), "params" => array('css' => null))); // Check if we have a POST request if (!$request->isPost()) { return $this->_helper->redirector('list', 'subscribers', 'admin'); } if ($form->isValid($request->getPost())) { // Get the id $id = $this->getRequest()->getParam('subscriber_id'); // Set the new values if (is_numeric($id)) { $this->subscribers = NewslettersSubscribers::getbyId($id); } // Get the values posted $params = $form->getValues(); $this->subscribers->email = $params['email']; $this->subscribers->subscriptiondate = !empty($params['subscriptiondate']) ? Shineisp_Commons_Utilities::formatDateIn($params['subscriptiondate']) : date('Y-m-d H:i:s'); $this->subscribers->save(); $id = is_numeric($id) ? $id : $this->subscribers->getIncremented(); $redirector->gotoUrl("/admin/subscribers/edit/id/{$id}"); } else { $this->view->form = $form; $this->view->title = $this->translator->translate("Subscriber Details"); $this->view->description = $this->translator->translate("Here you can check all the submit information."); return $this->render('applicantform'); } }
/** * Add the user in the newsletter * @param array $items */ public function bulk_add_to_newsletter($items) { foreach ($items as $item) { NewslettersSubscribers::customer_optIn($item); } return true; }
public static function optIn($email) { if (Shineisp_Commons_Utilities::isEmail($email)) { // Check if the email is already registered $retval = Doctrine::getTable('NewslettersSubscribers')->findOneBy('email', $email); if (empty($retval)) { // Save the new email address $subscriber = new NewslettersSubscribers(); $subscriber->email = $email; $subscriber->subscriptiondate = date('Y-m-d H:i:s'); if ($subscriber->trySave()) { // Send the email to confirm the subscription $retval = Shineisp_Commons_Utilities::getEmailTemplate('new_subscriber'); if ($retval) { $subject = $retval['subject']; $template = $retval['template']; $isp = Isp::getActiveISP(); $template = str_replace("[signature]", $isp['company'], $template); Shineisp_Commons_Utilities::SendEmail($isp['email'], $email, null, $subject, $template); } return true; } } } return false; }