当前位置: 首页>>代码示例>>PHP>>正文


PHP Mailer::IsSMTP方法代码示例

本文整理汇总了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;
}
开发者ID:diedsmiling,项目名称:busenika,代码行数:33,代码来源:fn.init.php

示例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();
     }
 }
开发者ID:codingoneapp,项目名称:codingone,代码行数:34,代码来源:SendMail.php

示例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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:39,代码来源:feedback.php

示例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&deg; ' . $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&reg; " . 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&reg; " . 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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:101,代码来源:cod.php

示例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();
     }
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:42,代码来源:page.php

示例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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:83,代码来源:contact.php

示例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&ntilde;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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:57,代码来源:login.php

示例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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:38,代码来源:mailserver.php

示例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>&reg; " . 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();
     }
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:73,代码来源:product.php

示例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);
    }
}
开发者ID:diedsmiling,项目名称:busenika,代码行数:33,代码来源:func.php

示例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&reg;");
                 $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'));
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:101,代码来源:success.php

示例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&reg; " . 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&reg; " . 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);
//.........这里部分代码省略.........
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:101,代码来源:forgotten.php

示例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']);
//.........这里部分代码省略.........
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:101,代码来源:send.php

示例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();
             }
         }
     }
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:63,代码来源:register.php

示例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') . '&nbsp;<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();
         }
     }
 }
开发者ID:josueaponte7,项目名称:necotienda_standalone,代码行数:49,代码来源:order.php


注:本文中的Mailer::IsSMTP方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。