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; }
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; }
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; }
/** * 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; }
/** * 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; }
/** * 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'); }
/** * 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']; }