Example #1
0
 public function getCorreomasivo()
 {
     $campos = Input::get('newsletter');
     // dd( "Juan Lopez");
     $correo = new Newsletters();
     $correo->name = $campos["nombre"];
     $correo->email = $campos["email"];
     $correo->save();
     return "Datos guardados con Exito";
     // return $campos;
 }
Example #2
0
 public function actionNewsletters()
 {
     if (isset($_POST['FrmNewslettters'])) {
         $newsletter = new Newsletters();
         $newsletter->attributes = $_POST['FrmNewslettters'];
         if ($newsletter->validate()) {
             $newsletter->save();
             Yii::app()->user->setFlash('success', '<strong>Tin nhắn!</strong> Đăng ký nhận tin thành công');
             $this->redirect(Yii::app()->getBaseUrl(true));
         } else {
             Yii::app()->user->setFlash('error', '<strong>Tin nhắn!</strong> Địa chỉ mail này đã được đăng kí nhận tin nhắn');
             $this->redirect(Yii::app()->getBaseUrl(true));
         }
     }
 }
 /**
  * grid
  * create the configuration of the grid
  */
 public static function grid($rowNum = 10)
 {
     $translator = Shineisp_Registry::getInstance()->Zend_Translate;
     $config['datagrid']['columns'][] = array('label' => null, 'field' => 's.subscriber_id', 'alias' => 'subscriber_id', 'type' => 'selectall');
     $config['datagrid']['columns'][] = array('label' => $translator->translate('ID'), 'field' => 's.subscriber_id', 'alias' => 'subscriber_id', 'sortable' => true, 'searchable' => true, 'type' => 'string');
     $config['datagrid']['columns'][] = array('label' => $translator->translate('Email'), 'field' => 's.email', 'alias' => 'email', 'sortable' => true, 'searchable' => true, 'type' => 'string');
     $config['datagrid']['columns'][] = array('label' => $translator->translate('Subscription Date'), 'field' => 's.subscriptiondate', 'alias' => 'subscriptiondate', 'sortable' => true, 'searchable' => true, 'type' => 'date');
     $config['datagrid']['fields'] = "s.subscriber_id, s.email as email, DATE_FORMAT(s.subscriptiondate, '" . Settings::getMySQLDateFormat('dateformat') . " %H:%i:%s') as subscriptiondate";
     $config['datagrid']['rownum'] = $rowNum;
     $config['datagrid']['dqrecordset'] = Doctrine_Query::create()->select($config['datagrid']['fields'])->from('NewslettersSubscribers s');
     $config['datagrid']['basepath'] = "/admin/subscribers/";
     $config['datagrid']['index'] = "subscriber_id";
     $config['datagrid']['rowlist'] = array('10', '50', '100', '1000');
     $config['datagrid']['buttons']['edit']['label'] = $translator->translate('Edit');
     $config['datagrid']['buttons']['edit']['cssicon'] = "edit";
     $config['datagrid']['buttons']['edit']['action'] = "/admin/subscribers/edit/id/%d";
     $config['datagrid']['buttons']['delete']['label'] = $translator->translate('Delete');
     $config['datagrid']['buttons']['delete']['cssicon'] = "delete";
     $config['datagrid']['buttons']['delete']['action'] = "/admin/subscribers/delete/id/%d";
     $config['datagrid']['massactions'] = array('massdelete' => 'Mass Delete', 'bulkexport' => 'Export');
     $bulkmailinglist = array();
     $mailchimplists = Newsletters::get_mailchimp_list();
     if (!empty($mailchimplists)) {
         foreach ($mailchimplists as $id => $name) {
             $bulkmailinglist['bulk_mailchimp_optin&list=' . $id] = "Add to ({$name})";
             $bulkmailinglist['bulk_mailchimp_optout&list=' . $id] = "Remove from ({$name})";
         }
     }
     $config['datagrid']['massactions']['commons'] = array_merge($config['datagrid']['massactions'], $bulkmailinglist);
     return $config;
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id)
 {
     $model = Newsletters::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
 public function render()
 {
     if ($newsletter = Newsletters::get($this->_id)) {
         $html = $this->_messageBuilder->build(array('newsletter' => $newsletter));
     } else {
         $html = '';
     }
     echo $html;
 }
Example #6
0
 public function getDelete($id = '')
 {
     if ($id == '') {
         return Redirect::to(self::$route)->with('msg_error', Lang::get('messages.newsletters_display_err'));
     } else {
         $newsletter = Newsletters::find($id);
         $delete = Newsletters::destroy($id);
         if (!$delete) {
             return Redirect::to(self::$route)->with('msg_error', Lang::get('messages.newsletters_delete_err', array('title' => $newsletter->title)));
         } else {
             return Redirect::to(self::$route)->with('msg_success', Lang::get('messages.newsletters_delete', array('title' => $newsletter->title)));
         }
     }
 }
 public function send($max)
 {
     if ($max < 1) {
         return 0;
     }
     $processed = 0;
     $pendingRecords = Newsletters::getPendingRecords();
     $dbh = Project_DB::get();
     foreach ($pendingRecords as $record) {
         $record['Products'] = Newsletters::getProducts($record['ID']);
         $processed += $this->sendNewsletter($record, $max - $processed);
         if ($processed >= $max) {
             return $processed;
         }
     }
     return $processed;
 }
Example #8
0
 /**
  * Removes a newsletter.
  *
  * @param Newsletter $newsletter
  * @return $this For fluid purposes.
  */
 public function removeNewsletterGuide(\Seh\Bundle\SehBundle\Entity\Newsletter $newsletter)
 {
     $this->newsletterGuides->removeElement($newsletter);
     return $this;
 }
Example #9
0
 /**
  * Send the newsletter to the queue
  */
 public static function send_queue($test = FALSE, $id = NULL)
 {
     $queue = NewslettersHistory::get_active_queue($test, $id);
     $isp = Isp::getActiveISP();
     try {
         // Get the template from the main email template folder
         $retval = Shineisp_Commons_Utilities::getEmailTemplate('newsletter');
         if (!empty($retval) && !empty($queue)) {
             $contents = Newsletters::fill_content();
             $subject = $retval['subject'];
             $template = $retval['template'];
             $subject = str_replace("[subject]", $queue[0]['Newsletters']['subject'], $subject);
             $template = str_replace("[subject]", $queue[0]['Newsletters']['subject'], $template);
             $template = str_replace("[body]", $queue[0]['Newsletters']['message'], $template);
             foreach ($contents as $name => $content) {
                 $template = str_replace("[" . $name . "]", $content, $template);
             }
             foreach ($isp as $field => $value) {
                 $template = str_replace("[" . $field . "]", $value, $template);
             }
             $template = str_replace("[url]", "http://" . $_SERVER['HTTP_HOST'] . "/media/newsletter/", $template);
             foreach ($queue as $item) {
                 // Send a test of the newsletter to the default isp email otherwise send an email to the queue
                 if ($test) {
                     $body = str_replace("[optout]", "#", $template);
                     Shineisp_Commons_Utilities::SendEmail($isp['email'], $isp['email'], null, "<!--TEST --> " . $subject, $body, true);
                     break;
                 } else {
                     // Create the optout link to be added in the email
                     $body = str_replace("[optout]", '<a href="http://' . $_SERVER['HTTP_HOST'] . "/newsletter/optout/id/" . MD5($item['NewslettersSubscribers']['email']) . '" >Unsubscribe</a>', $template);
                     $result = Shineisp_Commons_Utilities::SendEmail($isp['email'], $item['NewslettersSubscribers']['email'], null, $subject, $body, true);
                     if ($result === true) {
                         NewslettersHistory::set_status($item['subscriber_id'], $item['newsletter_id'], 1, "Mail Sent");
                     } else {
                         NewslettersHistory::set_status($item['subscriber_id'], $item['newsletter_id'], 0, $result['message']);
                     }
                     Newsletters::set_sending_date($item['news_id']);
                 }
             }
         }
     } catch (Exception $e) {
         echo $e->getMessage();
         return false;
     }
     return true;
 }
Example #10
0
 /**
  * Send a newsletter test to the default ISP email
  */
 public function sendtestAction()
 {
     $id = $this->getRequest()->getParam('id');
     if (is_numeric($id)) {
         Newsletters::send_queue(true, $id);
         $this->_helper->redirector('edit', 'newsletter', 'admin', array('id' => $id, 'mex' => $this->translator->translate('The task requested has been executed successfully.'), 'status' => 'success'));
     }
     $this->_helper->redirector('list', 'newsletter', 'admin');
 }
Example #11
0
 /**
  * Save all the information about the newsletter
  * @param array $params
  */
 public static function save_data($params)
 {
     if (is_numeric($params['news_id'])) {
         $newsletter = self::getbyId($params['news_id']);
     } else {
         $newsletter = new Newsletters();
     }
     $newsletter['subject'] = $params['subject'];
     $newsletter['sendat'] = Shineisp_Commons_Utilities::formatDateIn($params['sendat']);
     $newsletter['sent'] = Shineisp_Commons_Utilities::formatDateIn($params['sent']);
     $newsletter['message'] = $params['message'];
     $newsletter->save();
     // If the newsletter has been already sent and you'd like to send it again, clear the history
     if ($params['sendagain']) {
         NewslettersHistory::clear_queue($newsletter['news_id']);
         // Update the sent field value
         $newsletter['sent'] = null;
         $newsletter->save();
     }
     // Create the queue
     NewslettersHistory::add_all_to_queue($newsletter['news_id']);
     return $newsletter['news_id'];
 }