本文整理汇总了PHP中Mailer::IsSMTP方法的典型用法代码示例。如果您正苦于以下问题:PHP Mailer::IsSMTP方法的具体用法?PHP Mailer::IsSMTP怎么用?PHP Mailer::IsSMTP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mailer
的用法示例。
在下文中一共展示了Mailer::IsSMTP方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fn_init_mailer
/**
* Init mail engine
*
* @return boolean always true
*/
function fn_init_mailer()
{
if (defined('MAILER_STARTED')) {
return true;
}
$mailer_settings = fn_get_settings('Emails');
if (!(include DIR_CORE . 'class.mailer.php')) {
fn_error(debug_backtrace(), "Can't find Mail class", false);
}
$mailer = new Mailer();
$mailer->LE = defined('IS_WINDOWS') ? "\r\n" : "\n";
$mailer->PluginDir = DIR_LIB . 'phpmailer/';
if ($mailer_settings['mailer_send_method'] == 'smtp') {
$mailer->IsSMTP();
$mailer->SMTPAuth = $mailer_settings['mailer_smtp_auth'] == 'Y' ? true : false;
$mailer->Host = $mailer_settings['mailer_smtp_host'];
$mailer->Username = $mailer_settings['mailer_smtp_username'];
$mailer->Password = $mailer_settings['mailer_smtp_password'];
} elseif ($mailer_settings['mailer_send_method'] == 'sendmail') {
$mailer->IsSendmail();
$mailer->Sendmail = $mailer_settings['mailer_sendmail_path'];
} else {
$mailer->IsMail();
}
Registry::set('mailer', $mailer);
define('MAILER_STARTED', true);
return true;
}
示例2: normal_send
/**
*
* @param string $key 配置key
* @param string $to 收件人
* @param string $subject 主题
* @param string $body 内容
*/
public static function normal_send($key, $to, $subject, $body, $toname = '')
{
$pzarr = Conf::$email[$key];
if ($pzarr['protocol'] == 'smtp') {
$mail = new Mailer();
$mail->IsSMTP();
$mail->Host = $pzarr['smtp_host'];
// SMTP server
$mail->SMTPDebug = 2;
// enables SMTP debug information (for testing)
$mail->SMTPAuth = true;
// enable SMTP authentication
$mail->Port = isset($pzarr['smtp_port']) ? $pzarr['smtp_port'] : 25;
// set the SMTP port for the GMAIL server
$mail->Username = $pzarr['smtp_user'];
// SMTP account username
$mail->Password = $pzarr['smtp_pass'];
// SMTP account password
$mail->AddReplyTo($pzarr['from'][0], $pzarr['from'][1]);
$mail->SetFrom($pzarr['from'][0], $pzarr['from'][1]);
$mail->AddAddress($to, $toname);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->IsHTML();
$mail->Send();
}
}
示例3: index
public function index()
{
$this->load->library('url');
$this->document->title = $this->language->get('heading_title');
if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->validate()) {
$this->load->library('email/mailer');
$mailer = new Mailer();
$subject = "Sugerencias NecoTienda";
$message .= "<p>Dominio:<b>" . $this->request->post['domain'] . "</b></p><br />";
$message .= "<p>IP Browser:<b>" . $this->request->post['remote_ip'] . "</b></p><br />";
$message .= "<p>IP Server:<b>" . $this->request->post['server_ip'] . "</b></p><br />";
$message .= "<p>Cliente ID:<b>" . C_CODE . "</b></p><br />";
$message .= "<p>Sugerencia:<b>" . HTTP_HOME . "</b></p><br />";
$message .= "<p>" . $this->request->post['feedback'] . "</p>";
$message .= "<hr />";
$message .= "Server Vars:" . serialize($_SERVER);
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress("soporte@necotienda.com", "Support NecoTienda");
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = $message;
$mailer->Send();
}
$this->response->setOutput($this->render(true), $this->config->get('config_compression'));
}
示例4: confirm
//.........这里部分代码省略.........
$text .= "Pedido ID: " . $order_id . "\n";
$text .= "Fecha Emision del Pedido: " . date('d-m-Y h:i A', strtotime($order_info['date_added'])) . "\n";
$text .= "Cliente: " . $this->customer->getCompany() . "\n";
$text .= "RIF: " . $this->customer->getRif() . "\n";
$text .= "Direccion IP: " . $_SERVER['REMOTE_ADDR'] . "\n";
$qrStore = "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.jpg';
$qrPayment = "cache/" . str_replace(" ", "_", $this->config->get('config_owner') . "_qr_code_payment_" . $payment_id) . '.jpg';
$eanStore = "cache/" . str_replace(" ", "_", $this->config->get('config_owner') . "_barcode_39_order_id_" . $order_id) . '.gif';
$qr->text($text);
$qr->draw(150, DIR_IMAGE . $qrPayment);
$qr->url(HTTP_HOME);
$qr->draw(150, DIR_IMAGE . $qrStore);
$barcode->draw(DIR_IMAGE . $eanStore);
$payment_text = '<h1>' . $this->config->get('config_owner') . "</h1>";
$payment_text .= "Pago ID: " . $payment_id . "<br />";
$payment_text .= "Pedido ID: " . $order_id . "<br />";
$payment_text .= "Fecha Emision del Pedido: " . date('d-m-Y h:i A', strtotime($order_info['date_added'])) . "<br />";
$payment_text .= "Cliente: " . $this->customer->getCompany() . "<br />";
$payment_text .= "RIF: " . $this->customer->getRif() . "<br />";
$payment_text .= "Direccion IP: " . $_SERVER['REMOTE_ADDR'] . "<br />";
$total_html = "<div class=\"clear:both;float:none;\"></div><br /><table>";
foreach ($totals as $total) {
$total_html .= "<tr>";
$total_html .= "<td style=\"text-align:right;\">" . $total['title'] . "</td>";
$total_html .= "<td style=\"text-align:right;\">" . $total['text'] . "</td>";
$total_html .= "</tr>";
}
$total_html .= "</table>";
$payment_text .= $total_html;
$result = $this->modelNewsletter->getById($this->config->get('cod_newsletter_id'));
$message = $result['htmlbody'];
$message = str_replace("{%title%}", 'Pago N° ' . $payment_id . " - " . $this->config->get('config_name'), $message);
$message = str_replace("{%store_logo%}", '<img src="' . HTTP_IMAGE . $this->config->get('config_logo') . '" alt="' . $this->config->get('config_name') . '" />', $message);
$message = str_replace("{%store_url%}", HTTP_HOME, $message);
$message = str_replace("{%store_owner%}", $this->config->get('config_owner'), $message);
$message = str_replace("{%store_name%}", $this->config->get('config_name'), $message);
$message = str_replace("{%store_rif%}", $this->config->get('config_rif'), $message);
$message = str_replace("{%store_email%}", $this->config->get('config_email'), $message);
$message = str_replace("{%store_telephone%}", $this->config->get('config_telephone'), $message);
$message = str_replace("{%store_address%}", $this->config->get('config_address'), $message);
$message = str_replace("{%totals%}", $total_html, $message);
$message = str_replace("{%order_id%}", $this->config->get('config_invoice_prefix') . $order_id, $message);
$message = str_replace("{%invoice_id%}", $this->config->get('config_invoice_prefix') . $invoice_id, $message);
$message = str_replace("{%rif%}", $this->customer->getRif(), $message);
$message = str_replace("{%fullname%}", $this->customer->getFirstName() . " " . $this->customer->getFirstName(), $message);
$message = str_replace("{%company%}", $this->customer->getCompany(), $message);
$message = str_replace("{%email%}", $this->customer->getEmail(), $message);
$message = str_replace("{%telephone%}", $this->customer->getTelephone(), $message);
$message = str_replace("{%payment%}", $payment_text, $message);
$message = str_replace("{%payment_method%}", $order_info['payment_method'], $message);
$message = str_replace("{%date_added%}", date('d-m-Y h:i A', strtotime($order_info['date_added'])), $message);
$message = str_replace("{%ip%}", $_SERVER['REMOTE_ADDR'], $message);
$message = str_replace("{%qr_code_store%}", '<img src="' . HTTP_IMAGE . $qrStore . '" alt="QR Code" />', $message);
$message = str_replace("{%comment%}", $order_info['comment'], $message);
$message = str_replace("{%qr_code_payment%}", '<img src="' . HTTP_IMAGE . $qrPayment . '" alt="QR Code" />', $message);
$message = str_replace("{%barcode_39_order_id%}", '<img src="' . HTTP_IMAGE . $eanStore . '" alt="QR Code" />', $message);
$message .= "<p style=\"text-align:center\">Powered By Necotienda® " . date('Y') . "</p>";
} else {
$message = $this->config->get('config_owner') . "\n";
$message .= "Pago ID: " . $payment_id . "\n";
$message .= "Pedido ID: " . $order_id . "\n";
$message .= "Fecha Emision: " . date('d-m-Y h:i A', strtotime($order_info['date_added'])) . "\n";
$message .= "Cliente: " . $this->customer->getCompany() . "\n";
$message .= "RIF: " . $this->customer->getRif() . "\n";
$message .= "Direccion IP: " . $_SERVER['REMOTE_ADDR'] . "\n";
$message .= "\n" . "Powered By Necotienda® " . date('Y') . "\n";
}
if ($message) {
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($this->customer->getEmail(), $this->customer->getCompany());
$mailer->AddBCC($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $this->config->get('config_owner') . " " . $this->language->get('text_new_payment') . " #" . $payment_id;
$mailer->Body = html_entity_decode(htmlspecialchars_decode($message));
$mailer->Send();
}
} elseif (!$this->customer->isLogged()) {
$json['error'] = 1;
$json['msg'] = $this->language->get('error_not_logged');
} else {
$json['error'] = 1;
$json['msg'] = $this->language->get('error_payment');
}
$this->load->library('json');
$this->response->setOutput(Json::encode($json), $this->config->get('config_compression'));
}
示例5: notifyReview
protected function notifyReview($page_id)
{
if (!$page_id) {
return false;
}
$this->load->auto('email/mailer');
$this->load->auto('content/page');
$this->load->auto('store/review');
$this->load->auto('marketing/newsletter');
$page_info = $this->modelPage->getById($page_id);
if ($page_info) {
$page = $this->modelNewsletter->getById($this->config->get('marketing_email_new_comment'));
$subject = $page['title'];
$message = str_replace("{%page_url%}", Url::createUrl('content/page', array('page_id' => $page_id)), $page['description']);
$message = str_replace("{%page_name%}", $page_info['title'], $message);
$mailer = new Mailer();
$reps = $this->modelReview->getCustomersReviewsByPageId($page_id);
foreach ($reps as $k => $v) {
$mailer->AddBCC($v['email'], $v['author']);
}
$mailer->AddBCC($this->config->get('config_email'), $this->config->get('config_name'));
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = $message;
$mailer->Send();
}
}
示例6: index
public function index()
{
$this->language->load('page/contact');
$this->document->title = $this->language->get('heading_title');
if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->validate()) {
$this->load->library('email/mailer');
$mailer = new Mailer();
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML(false);
$mailer->AddAddress($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->SetFrom($this->request->post['email'], $this->request->post['name']);
$mailer->Subject = $this->config->get('config_name') . " - Contacto";
$mailer->Body = strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8'));
$mailer->Send();
if ($this->request->hasPost('newsletter')) {
$this->load->model('marketing/contact');
$this->modelContact->add($this->request->post);
}
$this->data['success'] = $this->language->get('text_success');
$this->request->post = array();
unset($this->request->server['REQUEST_METHOD']);
}
$this->document->breadcrumbs = array();
$this->document->breadcrumbs[] = array('href' => Url::createUrl("common/home"), 'text' => $this->language->get('text_home'), 'separator' => false);
$this->document->breadcrumbs[] = array('href' => Url::createUrl("page/contact"), 'text' => $this->language->get('heading_title'), 'separator' => $this->language->get('text_separator'));
$this->data['breadcrumbs'] = $this->document->breadcrumbs;
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['error_name'] = isset($this->error['name']) ? $this->error['name'] : '';
$this->data['error_email'] = isset($this->error['email']) ? $this->error['email'] : '';
$this->data['error_enquiry'] = isset($this->error['enquiry']) ? $this->error['enquiry'] : '';
$this->data['error_name'] = isset($this->error['name']) ? $this->error['name'] : '';
$this->data['error_name'] = isset($this->error['name']) ? $this->error['name'] : '';
$this->data['action'] = Url::createUrl("page/contact");
$this->data['store'] = $this->config->get('config_name');
$this->data['address'] = nl2br($this->config->get('config_address'));
$this->data['telephone'] = $this->config->get('config_telephone');
$this->setvar('name');
$this->setvar('email');
$this->setvar('enquiry');
if ($this->config->get('marketing_page_contact_id')) {
$this->load->model('content/page');
$contact_page = $this->modelPage->getById($this->config->get('marketing_page_contact_id'));
$this->data['contact_page'] = html_entity_decode($contact_page['description']);
}
// style files
$csspath = defined("CDN_CSS") ? CDN_CSS : HTTP_CSS;
$styles[] = array('media' => 'all', 'href' => $csspath . 'neco.form.css');
$this->styles = array_merge($styles, $this->styles);
// javascript files
$jspath = defined("CDN_JS") ? CDN_JS : HTTP_JS;
$javascripts[] = $jspath . "vendor/jquery-ui.min.js";
$javascripts[] = $jspath . "necojs/neco.form.js";
$this->javascripts = array_merge($this->javascripts, $javascripts);
// SCRIPTS
$scripts[] = array('id' => 'contact', 'method' => 'ready', 'script' => "\$('#contact').ntForm();");
$this->loadWidgets();
$this->scripts = array_merge($this->scripts, $scripts);
$this->children[] = 'common/column_left';
$this->children[] = 'common/column_right';
$this->children[] = 'common/nav';
$this->children[] = 'common/header';
$this->children[] = 'common/footer';
$template = $this->config->get('default_view_contact') ? $this->config->get('default_view_contact') : 'page/contact.tpl';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/' . $template)) {
$this->template = $this->config->get('config_template') . '/' . $template;
} else {
$this->template = 'choroni/' . $template;
}
$this->response->setOutput($this->render(true), $this->config->get('config_compression'));
}
示例7: recover
public function recover()
{
$this->load->language('common/login');
$this->data['error_warning'] = '';
$this->document->title = $this->language->get('heading_recover_title');
if ($this->user->isLogged() && isset($this->request->get['token']) && $this->request->get['token'] == $this->session->get('ukey')) {
$this->redirect(Url::createAdminUrl('common/home'));
}
if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->validateRecover()) {
$result = $this->db->query("SELECT * FROM " . DB_PREFIX . "user WHERE username = '" . $this->request->getPost('username') . "' AND email = '" . $this->request->getPost('email') . "'");
if ($result->num_rows) {
$password = substr(md5(rand()), 0, 7);
$this->db->query("UPDATE " . DB_PREFIX . "user SET \r\n `password` = '" . md5($password) . "' \r\n WHERE username = '" . $this->request->getPost('username') . "' \r\n AND email = '" . $this->request->getPost('email') . "'");
$this->user->registerActivity($result->row['user_id'], 'user', 'Solicitud de generación de contraseña nueva', 'update');
$this->load->auto('email/mailer');
$mailer = new Mailer();
$message = "<h1>Hola " . $this->request->getPost('username') . ",</h1>\n\n";
$message .= "<p>Tu nueva contraseña es:</p>\n";
$message .= "<h1>" . $password . "</h1>\n";
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($this->request->getPost('email'), $this->request->getPost('username'));
$mailer->SetFrom('soporte@necotienda.com', 'NecoTienda');
$mailer->Subject = 'Recuperacion de Contrasena';
$mailer->Body = $message;
$mailer->Send();
$this->redirect(Url::createUrl('common/login'));
} else {
$this->user->registerActivity($result->row['user_id'], 'user', 'Intento fallido de solicitud de generación de contraseña nueva', 'update');
$this->data['error_warning'] = $this->language->get('error_user_unknown');
}
}
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
}
$this->data['action'] = Url::createAdminUrl('common/login/recover');
$this->setvar('username');
$this->setvar('email');
$scripts[] = array('id' => 'login', 'method' => 'ready', 'script' => "\$('#form input').keydown(function(e) {\r\n \t\tif (e.keyCode == 13) {\r\n \$('#form').submit();\r\n \t\t}\r\n \t});");
$this->scripts = array_merge($scripts, $this->scripts);
$this->template = 'common/recover.tpl';
$this->children = array('common/header', 'common/footer');
$this->response->setOutput($this->render(true), $this->config->get('config_compression'));
}
示例8: testConnection
public function testConnection()
{
$this->load->auto('json');
$json = array();
if (!$this->request->hasQuery('server')) {
$json['error'] = 1;
}
if (!$this->request->hasQuery('username')) {
$json['error'] = 1;
}
if (!$this->request->hasQuery('password')) {
$json['error'] = 1;
}
if (!isset($json['error'])) {
$this->load->library('email/smtp');
$this->load->library('email/mailer');
$mailer = new Mailer();
$mailer->IsSMTP();
$mailer->Host = $this->request->getQuery('server');
$mailer->Username = $this->request->getQuery('username');
$mailer->Password = $this->request->getQuery('password');
if ($this->request->hasQuery('port')) {
$mailer->Port = $this->request->getQuery('port');
}
if ($this->request->hasQuery('security')) {
$mailer->SMTPSecure = $this->request->getQuery('security');
}
$mailer->SMTPAuth = true;
$result = $mailer->SmtpConnect();
if ($result === true) {
$json['success'] = 1;
} else {
$json['error'] = 1;
$json['msg'] = $result;
}
}
$this->response->setOutput(Json::encode($json), $this->config->get('config_compression'));
}
示例9: notifyReply
protected function notifyReply($review_id, $product_id)
{
if (!$review_id) {
return false;
}
$this->load->auto('email/mailer');
$this->load->auto('store/product');
$this->load->auto('account/customer');
$this->load->auto('store/review');
$this->load->auto('marketing/newsletter');
$review_info = $this->modelReview->getById($review_id);
$product_info = $this->modelProduct->getProduct($product_id);
if ($this->config->get('marketing_email_new_reply') && $review_info) {
$this->load->model("marketing/newsletter");
$this->load->library('email/mailer');
$this->load->library('BarcodeQR');
$this->load->library('Barcode39');
$mailer = new Mailer();
$qr = new BarcodeQR();
$barcode = new Barcode39(C_CODE);
$qrStore = "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.png';
$eanStore = "cache/" . str_replace(" ", "_", $this->config->get('config_owner') . "_barcode_39_order_id_" . $order_id) . '.gif';
if (!file_exists(DIR_IMAGE . $qrStore)) {
$qr->url(HTTP_HOME);
$qr->draw(150, DIR_IMAGE . $qrStore);
}
if (!file_exists(DIR_IMAGE . $eanStore)) {
$barcode->draw(DIR_IMAGE . $eanStore);
}
$customer_info = $this->modelCustomer->getCustomer($review_info['customer_id']);
$result = $this->modelNewsletter->getById($this->config->get('marketing_email_new_reply'));
$message = $result['htmlbody'];
$message = str_replace("{%store_logo%}", '<img src="' . HTTP_IMAGE . $this->config->get('config_logo') . '" alt="' . $this->config->get('config_name') . '" />', $message);
$message = str_replace("{%store_url%}", HTTP_HOME, $message);
$message = str_replace("{%store_owner%}", $this->config->get('config_owner'), $message);
$message = str_replace("{%store_name%}", $this->config->get('config_name'), $message);
$message = str_replace("{%store_rif%}", $this->config->get('config_rif'), $message);
$message = str_replace("{%store_email%}", $this->config->get('config_email'), $message);
$message = str_replace("{%store_telephone%}", $this->config->get('config_telephone'), $message);
$message = str_replace("{%store_address%}", $this->config->get('config_address'), $message);
$message = str_replace("{%product_url%}", Url::createUrl('store/product', array('product_id' => $product_id)), $message);
$message = str_replace("{%url_account%}", Url::createUrl('account/review'), $message);
$message = str_replace("{%product_name%}", $product_info['name'], $message);
$message = str_replace("{%fullname%}", $customer_info['firstname'] . " " . $customer_info['lastname'], $message);
$message = str_replace("{%company%}", $customer_info['company'], $message);
$message = str_replace("{%email%}", $customer_info['email'], $message);
$message = str_replace("{%qr_code_store%}", '<img src="' . HTTP_IMAGE . $qrStore . '" alt="QR Code" />', $message);
$message = str_replace("{%barcode_39_order_id%}", '<img src="' . HTTP_IMAGE . $eanStore . '" alt="QR Code" />', $message);
$message .= "<p style=\"text-align:center\">Powered By <a href=\"http://www.necotienda.org\">Necotienda</a>® " . date('Y') . "</p>";
$subject = $this->config->get('config_owner') . " " . $this->language->get('text_new_reply');
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($customer_info['email'], $customer_info['author']);
$mailer->AddBCC($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = html_entity_decode($message);
$mailer->Send();
}
}
示例10: fn_override_mailer
function fn_override_mailer($restore = false)
{
static $saved_mailer;
fn_init_mailer();
// restore default mailer
if ($restore && !empty($saved_mailer)) {
Registry::set('mailer', $saved_mailer);
unset($saved_mailer);
return;
}
// override default mailer by mailer with newsletter settings
$mailer_settings = Registry::get('addons.news_and_emails');
if ($mailer_settings['mailer_send_method'] != 'default') {
$default_mailer = Registry::get('mailer');
$saved_mailer = $default_mailer;
$new_mailer = new Mailer();
$new_mailer->LE = defined('IS_WINDOWS') ? "\r\n" : "\n";
$new_mailer->PluginDir = DIR_LIB . 'phpmailer/';
if ($mailer_settings['mailer_send_method'] == 'smtp') {
$new_mailer->IsSMTP();
$new_mailer->SMTPAuth = $mailer_settings['mailer_smtp_auth'] == 'Y' ? true : false;
$new_mailer->Host = $mailer_settings['mailer_smtp_host'];
$new_mailer->Username = $mailer_settings['mailer_smtp_username'];
$new_mailer->Password = $mailer_settings['mailer_smtp_password'];
} elseif ($mailer_settings['mailer_send_method'] == 'sendmail') {
$new_mailer->IsSendmail();
$new_mailer->Sendmail = $mailer_settings['mailer_sendmail_path'];
} else {
$new_mailer->IsMail();
}
Registry::set('mailer', $new_mailer);
}
}
示例11: index
//.........这里部分代码省略.........
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator("Powered By NecoTienda®");
$pdf->SetTitle($this->config->get('config_name'));
$pdf->SetAuthor($this->config->get('config_name'));
$pdf->SetSubject($this->config->get('config_owner') . " " . $this->language->get('text_order') . " #" . $order_id);
$pdf->SetKeywords($this->config->get('config_name') . ', ' . $product_tags . ',pdf');
// set default header data
$pdf->SetHeaderData($this->config->get('config_logo'), PDF_HEADER_LOGO_WIDTH, $this->config->get('config_owner'), $this->config->get('config_name'));
// set header and footer fonts
$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// set font
$pdf->SetFont('dejavusans', '', 10);
// add a page
$pdf->AddPage();
// output the HTML content
$pdf->writeHTML($pdfBody, true, false, true, false, '');
//Close and output PDF document
$pdf->Output($pdfFile, 'F');
}
$subject = $this->config->get('config_owner') . " " . $this->language->get('text_new_order') . " #" . $order_id;
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($this->customer->getEmail(), $this->customer->getCompany());
$mailer->AddBCC($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = html_entity_decode(htmlspecialchars_decode($message));
if ($pdfFile && file_exists($pdfFile)) {
$mailer->AddAttachment($pdfFile);
}
$mailer->Send();
}
$order_id = $this->session->get('order_id');
$this->cart->clear();
$this->session->clear('shipping_method');
$this->session->clear('shipping_methods');
$this->session->clear('payment_method');
$this->session->clear('payment_methods');
$this->session->clear('guest');
$this->session->clear('comment');
$this->session->clear('order_id');
$this->session->clear('coupon');
}
$this->document->title = $this->language->get('heading_title');
$this->document->breadcrumbs = array();
$this->document->breadcrumbs[] = array('href' => Url::createUrl("common/home"), 'text' => $this->language->get('text_home'), 'separator' => false);
$this->document->breadcrumbs[] = array('href' => Url::createUrl("checkout/cart"), 'text' => $this->language->get('text_basket'), 'separator' => $this->language->get('text_separator'));
$this->document->breadcrumbs[] = array('href' => Url::createUrl("checkout/success"), 'text' => $this->language->get('text_checkout_success'), 'separator' => $this->language->get('text_separator'));
$this->data['breadcrumbs'] = $this->document->breadcrumbs;
$this->data['heading_title'] = $this->language->get('heading_title');
if ($this->config->get('page_order_success')) {
$this->load->model('content/page');
$page = $this->modelPage->getById($this->config->get('page_order_success'));
$this->data['text_message'] = html_entity_decode($page['description']);
} else {
$this->data['text_message'] = sprintf($this->language->get('text_message'), Url::createUrl("account/account"), Url::createUrl("account/order"), Url::createUrl("page/contact"));
}
// style files
$csspath = defined("CDN") ? CDN . CSS : HTTP_CSS;
$styles[] = array('media' => 'all', 'href' => $csspath . 'jquery-ui/jquery-ui.min.css');
$styles[] = array('media' => 'all', 'href' => $csspath . 'neco.form.css');
$this->data['styles'] = $this->styles = array_merge($this->styles, $styles);
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/checkout/success.tpl')) {
$this->template = $this->config->get('config_template') . '/checkout/success.tpl';
} else {
$this->template = 'choroni/checkout/success.tpl';
}
$this->children[] = 'common/nav';
$this->children[] = 'common/footer';
$this->children[] = 'common/header';
$this->response->setOutput($this->render(true), $this->config->get('config_compression'));
}
示例12: index
public function index()
{
$Url = new Url($this->registry);
if ($this->customer->isLogged()) {
$this->redirect(Url::createUrl("account/account"));
}
$this->language->load('account/forgotten');
$this->document->title = $this->language->get('heading_title');
$this->load->model('account/customer');
if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->validate()) {
$this->load->library('email/mailer');
$this->load->library('BarcodeQR');
$this->load->library('Barcode39');
$mailer = new Mailer();
$qr = new BarcodeQR();
$barcode = new Barcode39(C_CODE);
$password = substr(md5(rand()), 0, 11);
$qrStore = "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.png';
$eanStore = "cache/" . str_replace(" ", "_", $this->config->get('config_owner') . "_barcode_39_order_id_" . $order_id) . '.gif';
if (!file_exists(DIR_IMAGE . $qrStore)) {
$qr->url(HTTP_HOME);
$qr->draw(150, DIR_IMAGE . $qrStore);
}
if (!file_exists(DIR_IMAGE . $eanStore)) {
$barcode->draw(DIR_IMAGE . $eanStore);
}
if ($this->config->get('marketing_email_new_password')) {
$this->load->model("marketing/newsletter");
$result = $this->modelNewsletter->getById($this->config->get('marketing_email_new_password'));
$message = $result['htmlbody'];
$message = str_replace("{%store_logo%}", '<img src="' . HTTP_IMAGE . $this->config->get('config_logo') . '" alt="' . $this->config->get('config_name') . '" />', $message);
$message = str_replace("{%store_url%}", HTTP_HOME, $message);
$message = str_replace("{%url_login%}", Url::createUrl("account/login"), $message);
$message = str_replace("{%url_activate%}", Url::createUrl("account/activate", array('ac' => $this->request->post['activation_code'])), $message);
$message = str_replace("{%store_owner%}", $this->config->get('config_owner'), $message);
$message = str_replace("{%store_name%}", $this->config->get('config_name'), $message);
$message = str_replace("{%store_rif%}", $this->config->get('config_rif'), $message);
$message = str_replace("{%store_email%}", $this->config->get('config_email'), $message);
$message = str_replace("{%store_telephone%}", $this->config->get('config_telephone'), $message);
$message = str_replace("{%store_address%}", $this->config->get('config_address'), $message);
$message = str_replace("{%email%}", $this->request->post['email'], $message);
$message = str_replace("{%password%}", $password, $message);
$message = str_replace("{%date_added%}", date('d-m-Y h:i A'), $message);
$message = str_replace("{%ip%}", $_SERVER['REMOTE_ADDR'], $message);
$message = str_replace("{%qr_code_store%}", '<img src="' . HTTP_IMAGE . $qrStore . '" alt="QR Code" />', $message);
$message = str_replace("{%barcode_39_order_id%}", '<img src="' . HTTP_IMAGE . $eanStore . '" alt="NT Code" />', $message);
$message .= "<p style=\"text-align:center\">Powered By Necotienda® " . date('Y') . "</p>";
} else {
$message = "<h1>" . $this->config->get('config_name') . "</h1>";
$message .= "<p>" . $this->language->get('text_password_renew') . "</p>";
$message .= "<p><b>" . $password . "</b></p><br />";
$message .= '<img src="' . HTTP_IMAGE . $qrStore . '" alt="QR Code" />';
$message .= '<img src="' . HTTP_IMAGE . $eanStore . '" alt="NT Code" />';
$message .= "<br /><p style=\"text-align:center\">Powered By Necotienda® " . date('Y') . "</p>";
}
$subject = $this->config->get('config_name') . " " . $this->language->get('text_new_password');
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($this->request->post['email'], $this->config->get('config_name'));
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = html_entity_decode(htmlspecialchars_decode($message));
$mailer->Send();
$this->modelCustomer->editPassword($this->request->post['email'], $password);
$this->session->set('success', $this->language->get('text_success'));
$this->redirect(Url::createUrl("account/login"));
}
$this->document->breadcrumbs = array();
$this->document->breadcrumbs[] = array('href' => Url::createUrl("common/home"), 'text' => $this->language->get('text_home'), 'separator' => false);
$this->document->breadcrumbs[] = array('href' => Url::createUrl("account/account"), 'text' => $this->language->get('text_account'), 'separator' => $this->language->get('text_separator'));
$this->document->breadcrumbs[] = array('href' => Url::createUrl("account/forgotten"), 'text' => $this->language->get('text_forgotten'), 'separator' => $this->language->get('text_separator'));
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['text_your_email'] = $this->language->get('text_your_email');
$this->data['text_email'] = $this->language->get('text_email');
$this->data['entry_email'] = $this->language->get('entry_email');
$this->data['button_continue'] = $this->language->get('button_continue');
$this->data['button_back'] = $this->language->get('button_back');
if (isset($this->error['message'])) {
$this->data['error'] = $this->error['message'];
} else {
$this->data['error'] = '';
}
$this->data['action'] = Url::createUrl("account/forgotten");
$this->data['back'] = Url::createUrl("account/account");
$this->loadWidgets();
if ($scripts) {
$this->scripts = array_merge($this->scripts, $scripts);
//.........这里部分代码省略.........
示例13: sendCampaign
public function sendCampaign($task)
{
if ($this->isLocked('send_campaign', $task->task_id)) {
$task->addMinute(15);
} else {
$task->start();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "campaign c \r\n LEFT JOIN " . DB_PREFIX . "newsletter n ON (n.newsletter_id=c.newsletter_id) \r\n WHERE campaign_id = '" . (int) $task->params['campaign_id'] . "'");
$campign_info = $query->row;
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "campaign_property \r\n WHERE `group` = 'mail_server' \r\n AND `key` = 'mail_server_id' \r\n AND campaign_id = '" . (int) $task->params['campaign_id'] . "'");
$mail_server_id = unserialize($query->row['value']);
if ($mail_server_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting \r\n WHERE `group` = 'mail_server' \r\n AND `key` = '" . $mail_server_id . "'");
$mail_server = unserialize($query->row['value']);
} else {
$mail_server = 'localhost';
}
$htmlbody = html_entity_decode($campign_info['htmlbody']);
$count = 0;
foreach ($task->getTaskQueue() as $key => $queue) {
if ($count >= 50) {
break;
}
$params = unserialize($queue['params']);
$cached = $this->cache->get("campaign.html.{$params['campaign_id']}.{$params['contact_id']}");
if ($cached) {
$htmlbody = html_entity_decode($cached);
} else {
$htmlbody = str_replace("%7B", "{", $htmlbody);
$htmlbody = str_replace("%7D", "}", $htmlbody);
$htmlbody = str_replace("{%contact_id%}", $params['contact_id'], $htmlbody);
$htmlbody = str_replace("{%campaign_id%}", $params['campaign_id'], $htmlbody);
$htmlbody = str_replace("{%fullname%}", $params['name'], $htmlbody);
$htmlbody = str_replace("{%rif%}", $params['rif'], $htmlbody);
$htmlbody = str_replace("{%company%}", $params['company'], $htmlbody);
$htmlbody = str_replace("{%email%}", $params['email'], $htmlbody);
$htmlbody = str_replace("{%telephone%}", $params['telephone'], $htmlbody);
$htmlbody = $this->prepareTemplate($htmlbody, $params);
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->loadHTML($htmlbody);
/*
if ($params['embed_image']) {
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
$src = $image->getAttribute('src');
$src = str_replace(HTTP_IMAGE,DIR_IMAGE,$src);
if (file_exists($src)) {
$img = file_get_contents($src);
$ext = substr($src,(strrpos($src,'.')+1));
$embed = base64_encode($img);
$image->setAttribute('src',"data:image/$ext;base64,$embed");
$total_embed_images++;
}
$total_images++;
}
}
*/
$vars = array('contact_id' => $params['contact_id'], 'campaign_id' => $params['campaign_id'], 'referencedBy' => $params['email']);
/* trace the email */
$trace_url = Url::createUrl("marketing/campaign/trace", $vars, 'NONSSL', HTTP_HOME);
$trackEmail = $dom->createElement('img');
$trackEmail->setAttribute('src', $trace_url);
$dom->appendChild($trackEmail);
/* trace the clicks */
$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
$href = $link->getAttribute('href');
if (empty($href) || $href == "#" || strpos($href, "mailto:") || strpos($href, "callto:") || strpos($href, "skype:") || strpos($href, "tel:")) {
continue;
}
//TODO: validar enlaces
//TODO: sanitizar enlaces
$vars['link_index'] = $link_index = md5(time() . mt_rand(1000000, 9999999) . $href);
$_link = Url::createUrl("marketing/campaign/link", $vars, 'NONSSL', HTTP_HOME);
$this->db->query("INSERT INTO " . DB_PREFIX . "campaign_link SET \r\n `campaign_id` = '" . (int) $params['campaign_id'] . "',\r\n `url` = '" . $this->db->escape($_link) . "',\r\n `redirect` = '" . $this->db->escape($href) . "',\r\n `link` = '" . $this->db->escape($link_index) . "',\r\n `date_added` = NOW()");
$link->setAttribute('href', $_link);
//TODO: agregar valor a la etiqueta title si esta vacia
}
$htmlbody = html_entity_decode(htmlentities($dom->saveHTML()));
}
$mailer = new Mailer();
if ($mail_server !== 'localhost') {
$mailer->IsSMTP();
$mailer->Host = $mail_server['server'];
$mailer->Username = $mail_server['username'];
$mailer->Password = $mail_server['password'];
if ($mail_server['port']) {
$mailer->Port = $mail_server['port'];
}
if ($mail_server['security']) {
$mailer->SMTPSecure = $mail_server['security'];
}
$mailer->SMTPAuth = true;
} else {
$mailer->IsMail();
}
$mailer->AddAddress($params['email'], $params['name']);
$mailer->IsHTML();
$mailer->SetFrom($campign_info['from_email'], $campign_info['from_name']);
$mailer->AddReplyTo($campign_info['replyto_email'], $campign_info['from_name']);
//.........这里部分代码省略.........
示例14: register
public function register()
{
if (!$this->customer->islogged()) {
$this->load->model("account/customer");
$this->load->model("marketing/newsletter");
$this->load->library('email/mailer');
$this->load->library('BarcodeQR');
$mailer = new Mailer();
if (!file_exists(DIR_IMAGE . "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.png')) {
$qr = new BarcodeQR();
$qr->url(HTTP_HOME);
$qr->draw(100, DIR_IMAGE . "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.png');
}
$this->request->post['rif'] = $this->request->post['riftype'] . $this->request->post['rif'];
$this->request->post['password'] = substr(md5(rand(11111111, 99999999)), 0, 8);
if ($this->request->hasPost('referencedBy')) {
$promotor = $this->modelCustomer->getCustomerByEmail($this->request->getPost('referencedBy'));
$this->request->post['referenced_by'] = $promotor['customer_id'] ? $promotor['customer_id'] : 0;
}
if ($this->modelCustomer->addCustomer($this->request->post)) {
$this->customer->login($this->request->post['email'], $this->request->post['password'], true);
if ($this->request->post['session_address_var']) {
$this->session->set($this->request->post['session_address_var'], $this->customer->getAddressId());
}
$this->session->clear('guest');
if ($this->config->get('marketing_email_register_customer')) {
$newsletter = $this->modelNewsletter->getById($this->config->get('marketing_email_register_customer'));
$message = $newsletter['htmlbody'];
$message = str_replace("{%store_name%}", $this->config->get('config_owner'), $message);
$message = str_replace("{%store_rif%}", $this->config->get('config_rif'), $message);
$message = str_replace("{%store_address%}", $this->config->get('config_address'), $message);
$message = str_replace("{%company%}", $this->customer->getCompany(), $message);
$message = str_replace("{%email%}", $this->customer->getEmail(), $message);
$message = str_replace("{%password%}", $this->request->post['password'], $message);
$message = str_replace("{%date_added%}", date('d-m-Y h:i A', strtotime($order['date_added'])), $message);
$message = str_replace("{%ip%}", $order['ip'], $message);
$message = str_replace("{%qr_code_store%}", HTTP_IMAGE . "cache/" . str_replace(".", "_", $this->config->get('config_owner')) . '.png', $message);
$subject = $this->config->get('config_owner') . " " . $this->language->get('text_welcome');
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($this->customer->getEmail(), $this->customer->getCompany());
$mailer->AddBCC($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = html_entity_decode(htmlspecialchars_decode($message));
$mailer->Send();
}
}
}
}
示例15: addHistory
public function addHistory($order_id, $data)
{
$this->db->query("UPDATE `" . DB_PREFIX . "order` SET \r\n order_status_id = '" . (int) $data['order_status_id'] . "', \r\n date_modified = NOW() \r\n WHERE order_id = '" . (int) $order_id . "'");
if ($data['append']) {
$this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET \r\n order_id = '" . (int) $order_id . "', \r\n order_status_id = '" . (int) $data['order_status_id'] . "', \r\n notify = '" . (isset($data['notify']) ? (int) $data['notify'] : 0) . "', \r\n comment = '" . $this->db->escape(strip_tags($data['comment'])) . "', \r\n date_added = NOW()");
}
if ($data['notify']) {
$order_query = $this->db->query("SELECT *, os.name AS status \r\n FROM `" . DB_PREFIX . "order` o \r\n LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id AND os.language_id = o.language_id) \r\n LEFT JOIN " . DB_PREFIX . "language l ON (o.language_id = l.language_id) \r\n WHERE o.order_id = '" . (int) $order_id . "'");
if ($order_query->num_rows) {
$language = new Language($order_query->row['directory']);
$language->load($order_query->row['filename']);
//$language->load('mail/order');
//TODO: cargar la plantilla de email asociada con esta accion
$subject = sprintf($language->get('text_subject'), $order_query->row['store_name'], $order_id);
$message = "<p><b>" . $language->get('text_order') . ' ' . $order_id . "</b></p>";
$message .= "<p>" . $language->get('text_date_added') . ' ' . date('d-m-Y', strtotime($order_query->row['date_added'])) . "</p>";
$message .= "<p>" . $language->get('text_order_status') . ' <b>' . $order_query->row['status'] . "</b></p>";
$message .= "<p>" . $language->get('text_invoice') . "</p>";
$message .= "<a href=\"" . html_entity_decode($order_query->row['store_url'] . 'index.php?r=account/invoice&order_id=' . $order_id, ENT_QUOTES, 'UTF-8') . "\">Ver Pedido</a>";
if ($data['comment']) {
$message .= "<br /><p>" . $language->get('text_comment') . "</p>";
$message .= "<br /><p>" . strip_tags(html_entity_decode($data['comment'], ENT_QUOTES, 'UTF-8')) . "</p>";
}
$message .= $language->get('text_footer');
$this->load->library('email/mailer');
$mailer = new Mailer();
if ($this->config->get('config_smtp_method') == 'smtp') {
$mailer->IsSMTP();
$mailer->Host = $this->config->get('config_smtp_host');
$mailer->Username = $this->config->get('config_smtp_username');
$mailer->Password = base64_decode($this->config->get('config_smtp_password'));
$mailer->Port = $this->config->get('config_smtp_port');
$mailer->Timeout = $this->config->get('config_smtp_timeout');
$mailer->SMTPSecure = $this->config->get('config_smtp_ssl');
$mailer->SMTPAuth = $this->config->get('config_smtp_auth') ? true : false;
} elseif ($this->config->get('config_smtp_method') == 'sendmail') {
$mailer->IsSendmail();
} else {
$mailer->IsMail();
}
$mailer->IsHTML();
$mailer->AddAddress($order_query->row['email'], $order_query->row['payment_firstname']);
$mailer->SetFrom($this->config->get('config_email'), $this->config->get('config_name'));
$mailer->Subject = $subject;
$mailer->Body = $message;
$mailer->Send();
}
}
}