Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

staric

Новачок
  
  • Публікації

    13
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем staric

  1. Спойлер

    ~/www/блаблабла.ru/catalog/controller/information/contact.php

     

     

    <?php

     

    // *       @copyright      OPENCART.PRO 2011 - 2015.

     

    // *       @forum           http://forum.opencart.pro

     

    // *       @source                      See SOURCE.txt for source and other copyright.

     

    // *       @license          GNU General Public License version 3; see LICENSE.txt

     

     

     

    class ControllerInformationContact extends Controller {

     

                private $error = array();

     

     

     

                public function index() {

     

                            $this->load->language('information/contact');

     

     

     

                            $this->document->setTitle($this->language->get('heading_title'));

     

     

     

                            if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {

     

                                       $mail = new Mail();

     

                                       $mail->protocol = $this->config->get('config_mail_protocol');

     

                                       $mail->parameter = $this->config->get('config_mail_parameter');

     

                                       $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');

     

                                       $mail->smtp_username = $this->config->get('config_mail_smtp_username');

     

                                       $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');

     

                                       $mail->smtp_port = $this->config->get('config_mail_smtp_port');

     

                                       $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

     

     

     

                $mail->setTo($this->config->get('config_email'));

     

                                       $mail->setFrom($this->config->get('config_email'));

     

                                       $mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));

     

                                       $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));

     

                                       $mail->setText($this->request->post['enquiry'] . '\n\n' . $this->request->post['email']);

     

                                       $mail->send();

     

     

     

                                       $this->response->redirect($this->url->link('information/contact/success'));

     

                            }

     

     

     

                            $data['breadcrumbs'] = array();

     

     

     

                            $data['breadcrumbs'][] = array(

     

                                       'text' => $this->language->get('text_home'),

     

                                       'href' => $this->url->link('common/home')

     

                            );

     

     

     

                            $data['breadcrumbs'][] = array(

     

                                       'text' => $this->language->get('heading_title'),

     

                                       'href' => $this->url->link('information/contact')

     

                            );

     

     

     

                            $data['heading_title'] = $this->language->get('heading_title');

     

     

     

                            $data['text_location'] = $this->language->get('text_location');

     

                            $data['text_store'] = $this->language->get('text_store');

     

                            $data['text_contact'] = $this->language->get('text_contact');

     

                            $data['text_address'] = $this->language->get('text_address');

     

                            $data['text_telephone'] = $this->language->get('text_telephone');

     

                            $data['text_fax'] = $this->language->get('text_fax');

     

                            $data['text_open'] = $this->language->get('text_open');

     

                            $data['text_comment'] = $this->language->get('text_comment');

     

     

     

                            $data['entry_name'] = $this->language->get('entry_name');

     

                            $data['entry_email'] = $this->language->get('entry_email');

     

                            $data['entry_enquiry'] = $this->language->get('entry_enquiry');

     

     

     

                            $data['button_map'] = $this->language->get('button_map');

     

     

     

                            if (isset($this->error['name'])) {

     

                                       $data['error_name'] = $this->error['name'];

     

                            } else {

     

                                       $data['error_name'] = '';

     

                            }

     

     

     

                            if (isset($this->error['email'])) {

     

                                       $data['error_email'] = $this->error['email'];

     

                            } else {

     

                                       $data['error_email'] = '';

     

                            }

     

     

     

                            if (isset($this->error['enquiry'])) {

     

                                       $data['error_enquiry'] = $this->error['enquiry'];

     

                            } else {

     

                                       $data['error_enquiry'] = '';

     

                            }

     

     

     

                            $data['button_submit'] = $this->language->get('button_submit');

     

     

     

                            $data['action'] = $this->url->link('information/contact', '', 'SSL');

     

     

     

                            $this->load->model('tool/image');

     

     

     

                            if ($this->config->get('config_image')) {

     

                                       $data['image'] = $this->model_tool_image->resize($this->config->get('config_image'), $this->config->get('config_image_location_width'), $this->config->get('config_image_location_height'));

     

                            } else {

     

                                       $data['image'] = false;

     

                            }

     

     

     

                            $data['store'] = $this->config->get('config_name');

     

                            $data['address'] = nl2br($this->config->get('config_address'));

     

                            $data['geocode'] = $this->config->get('config_geocode');

     

                            $data['geocode_hl'] = $this->config->get('config_language');

     

                            $data['telephone'] = $this->config->get('config_telephone');

     

                            $data['fax'] = $this->config->get('config_fax');

     

                            $data['open'] = nl2br($this->config->get('config_open'));

     

                            $data['comment'] = $this->config->get('config_comment');

     

     

     

                            $data['locations'] = array();

     

     

     

                            $this->load->model('localisation/location');

     

     

     

                            foreach((array)$this->config->get('config_location') as $location_id) {

     

                                       $location_info = $this->model_localisation_location->getLocation($location_id);

     

     

     

                                       if ($location_info) {

     

                                                   if ($location_info['image']) {

     

                                                               $image = $this->model_tool_image->resize($location_info['image'], $this->config->get('config_image_location_width'), $this->config->get('config_image_location_height'));

     

                                                   } else {

     

                                                               $image = false;

     

                                                   }

     

     

     

                                                   $data['locations'][] = array(

     

                                                               'location_id' => $location_info['location_id'],

     

                                                               'name'        => $location_info['name'],

     

                                                               'address'     => nl2br($location_info['address']),

     

                                                               'geocode'     => $location_info['geocode'],

     

                                                               'telephone'   => $location_info['telephone'],

     

                                                               'fax'         => $location_info['fax'],

     

                                                               'image'       => $image,

     

                                                               'open'        => nl2br($location_info['open']),

     

                                                               'comment'     => $location_info['comment']

     

                                                   );

     

                                       }

     

                            }

     

     

     

                            if (isset($this->request->post['name'])) {

     

                                       $data['name'] = $this->request->post['name'];

     

                            } else {

     

                                       $data['name'] = $this->customer->getFirstName();

     

                            }

     

     

     

                            if (isset($this->request->post['email'])) {

     

                                       $data['email'] = $this->request->post['email'];

     

                            } else {

     

                                       $data['email'] = $this->customer->getEmail();

     

                            }

     

     

     

                            if (isset($this->request->post['enquiry'])) {

     

                                       $data['enquiry'] = $this->request->post['enquiry'];

     

                            } else {

     

                                       $data['enquiry'] = '';

     

                            }

     

     

     

                            // Captcha

     

                            if ($this->config->get($this->config->get('config_captcha') . '_status') && in_array('contact', (array)$this->config->get('config_captcha_page'))) {

     

                                       $data['captcha'] = $this->load->controller('captcha/' . $this->config->get('config_captcha'), $this->error);

     

                            } else {

     

                                       $data['captcha'] = '';

     

                            }

     

     

     

                            $data['column_left'] = $this->load->controller('common/column_left');

     

                            $data['column_right'] = $this->load->controller('common/column_right');

     

                            $data['content_top'] = $this->load->controller('common/content_top');

     

                            $data['content_bottom'] = $this->load->controller('common/content_bottom');

     

                            $data['footer'] = $this->load->controller('common/footer');

     

                            $data['header'] = $this->load->controller('common/header');

     

     

     

                            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/contact.tpl')) {

     

                                       $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/contact.tpl', $data));

     

                            } else {

     

                                       $this->response->setOutput($this->load->view('default/template/information/contact.tpl', $data));

     

                            }

     

                }

     

     

     

                protected function validate() {

     

                            if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)) {

     

                                       $this->error['name'] = $this->language->get('error_name');

     

                            }

     

     

     

                            if (!preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $this->request->post['email'])) {

     

                                       $this->error['email'] = $this->language->get('error_email');

     

                            }

     

     

     

                          if ((utf8_strlen($this->request->post['enquiry']) < 10) || (utf8_strlen($this->request->post['enquiry']) > 3000)) {

     

                                       $this->error['enquiry'] = $this->language->get('error_enquiry');

     

                            }

     

     

     

                            // Captcha

     

                            if ($this->config->get($this->config->get('config_captcha') . '_status') && in_array('contact', (array)$this->config->get('config_captcha_page'))) {

     

                                       $captcha = $this->load->controller('captcha/' . $this->config->get('config_captcha') . '/validate');

     

     

     

                                       if ($captcha) {

     

                                                   $this->error['captcha'] = $captcha;

     

                                       }

     

                            }

     

     

     

                            return !$this->error;

     

                }

     

     

     

                public function success() {

     

                            $this->load->language('information/contact');

     

     

     

                            $this->document->setTitle($this->language->get('heading_title'));

     

     

     

                            $data['breadcrumbs'] = array();

     

     

     

                            $data['breadcrumbs'][] = array(

     

                                       'text' => $this->language->get('text_home'),

     

                                       'href' => $this->url->link('common/home')

     

                            );

     

     

     

                            $data['breadcrumbs'][] = array(

     

                                       'text' => $this->language->get('heading_title'),

     

                                       'href' => $this->url->link('information/contact')

     

                            );

     

     

     

                            $data['heading_title'] = $this->language->get('heading_title');

     

     

     

                            $data['text_message'] = $this->language->get('text_success');

     

     

     

                            $data['button_continue'] = $this->language->get('button_continue');

     

     

     

                            $data['continue'] = $this->url->link('common/home');

     

     

     

                            $data['column_left'] = $this->load->controller('common/column_left');

     

                            $data['column_right'] = $this->load->controller('common/column_right');

     

                            $data['content_top'] = $this->load->controller('common/content_top');

     

                            $data['content_bottom'] = $this->load->controller('common/content_bottom');

     

                            $data['footer'] = $this->load->controller('common/footer');

     

                            $data['header'] = $this->load->controller('common/header');

     

     

     

                            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {

     

                                       $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/common/success.tpl', $data));

     

                            } else {

     

                                       $this->response->setOutput($this->load->view('default/template/common/success.tpl', $data));

     

                            }

                }

    }

     

  2. Спойлер

    ~/www/блаблабла.ru/system/library/mail.php

     

    <?php

     

    // *       @copyright      OPENCART.PRO 2011 - 2015.

     

    // *       @forum           http://forum.opencart.pro

     

    // *       @source                      See SOURCE.txt for source and other copyright.

     

    // *       @license          GNU General Public License version 3; see LICENSE.txt

     

     

     

    class Mail {

     

                protected $to;

     

                protected $from;

     

                protected $sender;

     

                protected $reply_to;

     

                protected $subject;

     

                protected $text;

     

                protected $html;

     

                protected $attachments = array();

     

                public $protocol = 'mail';

     

                public $smtp_hostname;

     

                public $smtp_username;

     

                public $smtp_password;

     

                public $smtp_port = 25;

     

                public $smtp_timeout = 5;

     

                public $newline = "\n";

     

                public $verp = false;

     

                public $parameter = '';

     

     

     

                public function __construct($config = array()) {

     

                            foreach ($config as $key => $value) {

     

                                       $this->$key = $value;

     

                            }

     

                }

     

     

     

                public function setTo($to) {

     

                            $this->to = $to;

     

                }

     

     

     

                public function setFrom($from) {

     

                            $this->from = $from;

     

                }

     

     

     

                public function setSender($sender) {

     

                            $this->sender = $sender;

     

                }

     

     

     

                public function setReplyTo($reply_to) {

     

                            $this->reply_to = $reply_to;

     

                }

     

     

     

                public function setSubject($subject) {

     

                            $this->subject = $subject;

     

                }

     

     

     

                public function setText($text) {

     

                            $this->text = $text;

     

                }

     

     

     

                public function setHtml($html) {

     

                            $this->html = $html;

     

                }

     

     

     

                public function addAttachment($filename) {

     

                            $this->attachments[] = $filename;

     

                }

     

     

     

                public function send() {

     

                            if (!$this->to) {

     

                                       trigger_error('Error: E-Mail to required!');

     

                                       exit();

     

                            }

     

     

     

                            if (!$this->from) {

     

                                       trigger_error('Error: E-Mail from required!');

     

                                       exit();

     

                            }

     

     

     

                            if (!$this->sender) {

     

                                       trigger_error('Error: E-Mail sender required!');

     

                                       exit();

     

                            }

     

     

     

                            if (!$this->subject) {

     

                                       trigger_error('Error: E-Mail subject required!');

     

                                       exit();

     

                            }

     

     

     

                            if ((!$this->text) && (!$this->html)) {

     

                                       trigger_error('Error: E-Mail message required!');

     

                                       exit();

     

                            }

     

     

     

                            if (is_array($this->to)) {

     

                                       $to = implode(',', $this->to);

     

                            } else {

     

                                       $to = $this->to;

     

                            }

     

     

     

                            $boundary = '----=_NextPart_' . md5(time());

     

     

     

                            $header = 'MIME-Version: 1.0' . $this->newline;

     

     

     

                            if ($this->protocol != 'mail') {

     

                                       $header .= 'To: ' . $to . $this->newline;

     

                                       $header .= 'Subject: =?UTF-8?B?' . base64_encode($this->subject) . '?=' . $this->newline;

     

                            }

     

     

     

                            $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline;

     

                            $header .= 'From: =?UTF-8?B?' . base64_encode($this->sender) . '?=' . ' <' . $this->from . '>' . $this->newline;

     

                           

     

                            if (!$this->reply_to) {

     

                                      $header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->sender) . '?=' . ' <' . $this->from . '>' . $this->newline;

     

                            } else {

     

                                       $header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->reply_to) . '?=' . ' <' . $this->reply_to . '>' . $this->newline;

     

                            }

     

                           

     

                            $header .= 'Return-Path: ' . $this->from . $this->newline;

     

                            $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline;

     

                            $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline;

     

     

     

                            if (!$this->html) {

     

                                       $message  = '--' . $boundary . $this->newline;

     

                                       $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

     

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

     

                                       $message .= $this->text . $this->newline;

     

                            } else {

     

                                       $message  = '--' . $boundary . $this->newline;

     

                                       $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline;

     

                                       $message .= '--' . $boundary . '_alt' . $this->newline;

     

                                       $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

     

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

     

     

     

                                       if ($this->text) {

     

                                                   $message .= $this->text . $this->newline;

     

                                       } else {

     

                                                   $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline;

     

                                       }

     

     

     

                                       $message .= '--' . $boundary . '_alt' . $this->newline;

     

                                       $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline;

     

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

     

                                       $message .= $this->html . $this->newline;

     

                                       $message .= '--' . $boundary . '_alt--' . $this->newline;

     

                            }

     

     

     

                            foreach ($this->attachments as $attachment) {

     

                                       if (file_exists($attachment)) {

     

                                                   $handle = fopen($attachment, 'r');

     

     

     

                                                   $content = fread($handle, filesize($attachment));

     

     

     

                                                   fclose($handle);

     

     

     

                                                   $message .= '--' . $boundary . $this->newline;

     

                                                  $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline;

     

                                                   $message .= 'Content-Transfer-Encoding: base64' . $this->newline;

     

                                                   $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline;

     

                                                   $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline;

     

                                                   $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline;

     

                                                   $message .= chunk_split(base64_encode($content));

     

                                       }

     

                            }

     

     

     

                            $message .= '--' . $boundary . '--' . $this->newline;

     

     

     

                            if ($this->protocol == 'mail') {

     

                                       ini_set('sendmail_from', $this->from);

     

     

     

                                       if ($this->parameter) {

     

                                                   mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter);

     

                                       } else {

     

                                                   mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header);

     

                                       }

     

                            } elseif ($this->protocol == 'smtp') {

     

                                       $tls = substr($this->smtp_hostname, 0, 3) == 'tls';

     

                                       $hostname = $tls ? substr($this->smtp_hostname, 6) : $this->smtp_hostname;

     

     

     

                                       $handle = fsockopen($hostname, $this->smtp_port, $errno, $errstr, $this->smtp_timeout);

     

     

     

                                       if (!$handle) {

     

                                                   trigger_error('Error: ' . $errstr . ' (' . $errno . ')');

     

                                                   exit();

     

                                       } else {

     

                                                   if (substr(PHP_OS, 0, 3) != 'WIN') {

     

                                                               socket_set_timeout($handle, $this->smtp_timeout, 0);

     

                                                   }

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . "\r\n");

     

     

     

                                                   $reply = '';

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               $reply .= $line;

     

     

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   if (substr($reply, 0, 3) != 250) {

     

                                                               trigger_error('Error: EHLO not accepted from server!');

     

                                                               exit();

     

                                                   }

     

     

     

                                                   if ($tls) {

     

                                                               fputs($handle, 'STARTTLS' . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                       break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 220) {

     

                                                                           trigger_error('Error: STARTTLS not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

     

     

                                                               stream_socket_enable_crypto($handle, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);

     

                                                   }

     

     

     

                                                   if (!empty($this->smtp_username)  && !empty($this->smtp_password)) {

     

                                                               fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 250) {

     

                                                                           trigger_error('Error: EHLO not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

     

     

                                                               fputs($handle, 'AUTH LOGIN' . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 334) {

     

                                                                           trigger_error('Error: AUTH LOGIN not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

     

     

                                                               fputs($handle, base64_encode($this->smtp_username) . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 334) {

     

                                                                           trigger_error('Error: Username not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

     

     

                                                               fputs($handle, base64_encode($this->smtp_password) . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 235) {

     

                                                                           trigger_error('Error: Password not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

                                                   } else {

     

                                                               fputs($handle, 'HELO ' . getenv('SERVER_NAME') . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if (substr($reply, 0, 3) != 250) {

     

                                                                           trigger_error('Error: HELO not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

                                                   }

     

     

     

                                                   if ($this->verp) {

     

                                                               fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>XVERP' . "\r\n");

     

                                                   } else {

     

                                                               fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>' . "\r\n");

     

                                                   }

     

     

     

                                                   $reply = '';

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               $reply .= $line;

     

     

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   if (substr($reply, 0, 3) != 250) {

     

                                                               trigger_error('Error: MAIL FROM not accepted from server!');

     

                                                               exit();

     

                                                   }

     

     

     

                                                   if (!is_array($this->to)) {

     

                                                               fputs($handle, 'RCPT TO: <' . $this->to . '>' . "\r\n");

     

     

     

                                                               $reply = '';

     

     

     

                                                               while ($line = fgets($handle, 515)) {

     

                                                                           $reply .= $line;

     

     

     

                                                                           if (substr($line, 3, 1) == ' ') {

     

                                                                                      break;

     

                                                                           }

     

                                                               }

     

     

     

                                                               if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

     

                                                                           trigger_error('Error: RCPT TO not accepted from server!');

     

                                                                           exit();

     

                                                               }

     

                                                   } else {

     

                                                               foreach ($this->to as $recipient) {

     

                                                                           fputs($handle, 'RCPT TO: <' . $recipient . '>' . "\r\n");

     

     

     

                                                                           $reply = '';

     

     

     

                                                                           while ($line = fgets($handle, 515)) {

     

                                                                                      $reply .= $line;

     

     

     

                                                                                      if (substr($line, 3, 1) == ' ') {

     

                                                                                                  break;

     

                                                                                      }

     

                                                                           }

     

     

     

                                                                           if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

     

                                                                                      trigger_error('Error: RCPT TO not accepted from server!');

     

                                                                                      exit();

     

                                                                           }

     

                                                               }

     

                                                   }

     

     

     

                                                   fputs($handle, 'DATA' . "\r\n");

     

     

     

                                                   $reply = '';

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               $reply .= $line;

     

     

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   if (substr($reply, 0, 3) != 354) {

     

                                                               trigger_error('Error: DATA not accepted from server!');

     

                                                               exit();

     

                                                   }

     

     

     

                                                   // According to rfc 821 we should not send more than 1000 including the CRLF

     

                                                   $message = str_replace("\r\n", "\n", $header . $message);

     

                                                   $message = str_replace("\r", "\n", $message);

     

     

     

                                                   $lines = explode("\n", $message);

     

     

     

                                                   foreach ($lines as $line) {

     

                                                               $results = str_split($line, 998);

     

     

     

                                                               foreach ($results as $result) {

     

                                                                           if (substr(PHP_OS, 0, 3) != 'WIN') {

     

                                                                                      fputs($handle, $result . "\r\n");

     

                                                                           } else {

     

                                                                                      fputs($handle, str_replace("\n", "\r\n", $result) . "\r\n");

     

                                                                           }

     

                                                               }

     

                                                   }

     

     

     

                                                   fputs($handle, '.' . "\r\n");

     

     

     

                                                   $reply = '';

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               $reply .= $line;

     

     

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   if (substr($reply, 0, 3) != 250) {

     

                                                               trigger_error('Error: DATA not accepted from server!');

     

                                                               exit();

     

                                                   }

     

     

     

                                                   fputs($handle, 'QUIT' . "\r\n");

     

     

     

                                                   $reply = '';

     

     

     

                                                   while ($line = fgets($handle, 515)) {

     

                                                               $reply .= $line;

     

     

     

                                                               if (substr($line, 3, 1) == ' ') {

     

                                                                           break;

     

                                                               }

     

                                                   }

     

     

     

                                                   if (substr($reply, 0, 3) != 221) {

     

                                                               trigger_error('Error: QUIT not accepted from server!');

     

                                                               exit();

     

                                                   }

     

     

     

                                                   fclose($handle);

     

                                       }

     

                            }

     

                }

     

    }

     

  3. ~/www/блаблабла.ru/system/library/mail.php

     

    <?php

    // *       @copyright      OPENCART.PRO 2011 - 2015.

    // *       @forum           http://forum.opencart.pro

    // *       @source                      See SOURCE.txt for source and other copyright.

    // *       @license          GNU General Public License version 3; see LICENSE.txt

     

    class Mail {

                protected $to;

                protected $from;

                protected $sender;

                protected $reply_to;

                protected $subject;

                protected $text;

                protected $html;

                protected $attachments = array();

                public $protocol = 'mail';

                public $smtp_hostname;

                public $smtp_username;

                public $smtp_password;

                public $smtp_port = 25;

                public $smtp_timeout = 5;

                public $newline = "\n";

                public $verp = false;

                public $parameter = '';

     

                public function __construct($config = array()) {

                            foreach ($config as $key => $value) {

                                       $this->$key = $value;

                            }

                }

     

                public function setTo($to) {

                            $this->to = $to;

                }

     

                public function setFrom($from) {

                            $this->from = $from;

                }

     

                public function setSender($sender) {

                            $this->sender = $sender;

                }

     

                public function setReplyTo($reply_to) {

                            $this->reply_to = $reply_to;

                }

     

                public function setSubject($subject) {

                            $this->subject = $subject;

                }

     

                public function setText($text) {

                            $this->text = $text;

                }

     

                public function setHtml($html) {

                            $this->html = $html;

                }

     

                public function addAttachment($filename) {

                            $this->attachments[] = $filename;

                }

     

                public function send() {

                            if (!$this->to) {

                                       trigger_error('Error: E-Mail to required!');

                                       exit();

                            }

     

                            if (!$this->from) {

                                       trigger_error('Error: E-Mail from required!');

                                       exit();

                            }

     

                            if (!$this->sender) {

                                       trigger_error('Error: E-Mail sender required!');

                                       exit();

                            }

     

                            if (!$this->subject) {

                                       trigger_error('Error: E-Mail subject required!');

                                       exit();

                            }

     

                            if ((!$this->text) && (!$this->html)) {

                                       trigger_error('Error: E-Mail message required!');

                                       exit();

                            }

     

                            if (is_array($this->to)) {

                                       $to = implode(',', $this->to);

                            } else {

                                       $to = $this->to;

                            }

     

                            $boundary = '----=_NextPart_' . md5(time());

     

                            $header = 'MIME-Version: 1.0' . $this->newline;

     

                            if ($this->protocol != 'mail') {

                                       $header .= 'To: ' . $to . $this->newline;

                                       $header .= 'Subject: =?UTF-8?B?' . base64_encode($this->subject) . '?=' . $this->newline;

                            }

     

                            $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline;

                            $header .= 'From: =?UTF-8?B?' . base64_encode($this->sender) . '?=' . ' <' . $this->from . '>' . $this->newline;

                           

                            if (!$this->reply_to) {

                                      $header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->sender) . '?=' . ' <' . $this->from . '>' . $this->newline;

                            } else {

                                       $header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->reply_to) . '?=' . ' <' . $this->reply_to . '>' . $this->newline;

                            }

                           

                            $header .= 'Return-Path: ' . $this->from . $this->newline;

                            $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline;

                            $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline;

     

                            if (!$this->html) {

                                       $message  = '--' . $boundary . $this->newline;

                                       $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

                                       $message .= $this->text . $this->newline;

                            } else {

                                       $message  = '--' . $boundary . $this->newline;

                                       $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline;

                                       $message .= '--' . $boundary . '_alt' . $this->newline;

                                       $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

     

                                       if ($this->text) {

                                                   $message .= $this->text . $this->newline;

                                       } else {

                                                   $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline;

                                       }

     

                                       $message .= '--' . $boundary . '_alt' . $this->newline;

                                       $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline;

                                       $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

                                       $message .= $this->html . $this->newline;

                                       $message .= '--' . $boundary . '_alt--' . $this->newline;

                            }

     

                            foreach ($this->attachments as $attachment) {

                                       if (file_exists($attachment)) {

                                                   $handle = fopen($attachment, 'r');

     

                                                   $content = fread($handle, filesize($attachment));

     

                                                   fclose($handle);

     

                                                   $message .= '--' . $boundary . $this->newline;

                                                  $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline;

                                                   $message .= 'Content-Transfer-Encoding: base64' . $this->newline;

                                                   $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline;

                                                   $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline;

                                                   $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline;

                                                   $message .= chunk_split(base64_encode($content));

                                       }

                            }

     

                            $message .= '--' . $boundary . '--' . $this->newline;

     

                            if ($this->protocol == 'mail') {

                                       ini_set('sendmail_from', $this->from);

     

                                       if ($this->parameter) {

                                                   mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter);

                                       } else {

                                                   mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header);

                                       }

                            } elseif ($this->protocol == 'smtp') {

                                       $tls = substr($this->smtp_hostname, 0, 3) == 'tls';

                                       $hostname = $tls ? substr($this->smtp_hostname, 6) : $this->smtp_hostname;

     

                                       $handle = fsockopen($hostname, $this->smtp_port, $errno, $errstr, $this->smtp_timeout);

     

                                       if (!$handle) {

                                                   trigger_error('Error: ' . $errstr . ' (' . $errno . ')');

                                                   exit();

                                       } else {

                                                   if (substr(PHP_OS, 0, 3) != 'WIN') {

                                                               socket_set_timeout($handle, $this->smtp_timeout, 0);

                                                   }

     

                                                   while ($line = fgets($handle, 515)) {

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . "\r\n");

     

                                                   $reply = '';

     

                                                   while ($line = fgets($handle, 515)) {

                                                               $reply .= $line;

     

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   if (substr($reply, 0, 3) != 250) {

                                                               trigger_error('Error: EHLO not accepted from server!');

                                                               exit();

                                                   }

     

                                                   if ($tls) {

                                                               fputs($handle, 'STARTTLS' . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                       break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 220) {

                                                                           trigger_error('Error: STARTTLS not accepted from server!');

                                                                           exit();

                                                               }

     

                                                               stream_socket_enable_crypto($handle, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);

                                                   }

     

                                                   if (!empty($this->smtp_username)  && !empty($this->smtp_password)) {

                                                               fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 250) {

                                                                           trigger_error('Error: EHLO not accepted from server!');

                                                                           exit();

                                                               }

     

                                                               fputs($handle, 'AUTH LOGIN' . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 334) {

                                                                           trigger_error('Error: AUTH LOGIN not accepted from server!');

                                                                           exit();

                                                               }

     

                                                               fputs($handle, base64_encode($this->smtp_username) . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 334) {

                                                                           trigger_error('Error: Username not accepted from server!');

                                                                           exit();

                                                               }

     

                                                               fputs($handle, base64_encode($this->smtp_password) . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 235) {

                                                                           trigger_error('Error: Password not accepted from server!');

                                                                           exit();

                                                               }

                                                   } else {

                                                               fputs($handle, 'HELO ' . getenv('SERVER_NAME') . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if (substr($reply, 0, 3) != 250) {

                                                                           trigger_error('Error: HELO not accepted from server!');

                                                                           exit();

                                                               }

                                                   }

     

                                                   if ($this->verp) {

                                                               fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>XVERP' . "\r\n");

                                                   } else {

                                                               fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>' . "\r\n");

                                                   }

     

                                                   $reply = '';

     

                                                   while ($line = fgets($handle, 515)) {

                                                               $reply .= $line;

     

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   if (substr($reply, 0, 3) != 250) {

                                                               trigger_error('Error: MAIL FROM not accepted from server!');

                                                               exit();

                                                   }

     

                                                   if (!is_array($this->to)) {

                                                               fputs($handle, 'RCPT TO: <' . $this->to . '>' . "\r\n");

     

                                                               $reply = '';

     

                                                               while ($line = fgets($handle, 515)) {

                                                                           $reply .= $line;

     

                                                                           if (substr($line, 3, 1) == ' ') {

                                                                                      break;

                                                                           }

                                                               }

     

                                                               if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

                                                                           trigger_error('Error: RCPT TO not accepted from server!');

                                                                           exit();

                                                               }

                                                   } else {

                                                               foreach ($this->to as $recipient) {

                                                                           fputs($handle, 'RCPT TO: <' . $recipient . '>' . "\r\n");

     

                                                                           $reply = '';

     

                                                                           while ($line = fgets($handle, 515)) {

                                                                                      $reply .= $line;

     

                                                                                      if (substr($line, 3, 1) == ' ') {

                                                                                                  break;

                                                                                      }

                                                                           }

     

                                                                           if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

                                                                                      trigger_error('Error: RCPT TO not accepted from server!');

                                                                                      exit();

                                                                           }

                                                               }

                                                   }

     

                                                   fputs($handle, 'DATA' . "\r\n");

     

                                                   $reply = '';

     

                                                   while ($line = fgets($handle, 515)) {

                                                               $reply .= $line;

     

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   if (substr($reply, 0, 3) != 354) {

                                                               trigger_error('Error: DATA not accepted from server!');

                                                               exit();

                                                   }

     

                                                   // According to rfc 821 we should not send more than 1000 including the CRLF

                                                   $message = str_replace("\r\n", "\n", $header . $message);

                                                   $message = str_replace("\r", "\n", $message);

     

                                                   $lines = explode("\n", $message);

     

                                                   foreach ($lines as $line) {

                                                               $results = str_split($line, 998);

     

                                                               foreach ($results as $result) {

                                                                           if (substr(PHP_OS, 0, 3) != 'WIN') {

                                                                                      fputs($handle, $result . "\r\n");

                                                                           } else {

                                                                                      fputs($handle, str_replace("\n", "\r\n", $result) . "\r\n");

                                                                           }

                                                               }

                                                   }

     

                                                   fputs($handle, '.' . "\r\n");

     

                                                   $reply = '';

     

                                                   while ($line = fgets($handle, 515)) {

                                                               $reply .= $line;

     

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   if (substr($reply, 0, 3) != 250) {

                                                               trigger_error('Error: DATA not accepted from server!');

                                                               exit();

                                                   }

     

                                                   fputs($handle, 'QUIT' . "\r\n");

     

                                                   $reply = '';

     

                                                   while ($line = fgets($handle, 515)) {

                                                               $reply .= $line;

     

                                                               if (substr($line, 3, 1) == ' ') {

                                                                           break;

                                                               }

                                                   }

     

                                                   if (substr($reply, 0, 3) != 221) {

                                                               trigger_error('Error: QUIT not accepted from server!');

                                                               exit();

                                                   }

     

                                                   fclose($handle);

                                       }

                            }

                }

    }

  4. ~/www/блаблабла.ru/catalog/controller/information/contact.php

     

    <?php

    // *       @copyright      OPENCART.PRO 2011 - 2015.

    // *       @forum           http://forum.opencart.pro

    // *       @source                      See SOURCE.txt for source and other copyright.

    // *       @license          GNU General Public License version 3; see LICENSE.txt

     

    class ControllerInformationContact extends Controller {

                private $error = array();

     

                public function index() {

                            $this->load->language('information/contact');

     

                            $this->document->setTitle($this->language->get('heading_title'));

     

                            if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {

                                       $mail = new Mail();

                                       $mail->protocol = $this->config->get('config_mail_protocol');

                                       $mail->parameter = $this->config->get('config_mail_parameter');

                                       $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');

                                       $mail->smtp_username = $this->config->get('config_mail_smtp_username');

                                       $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');

                                       $mail->smtp_port = $this->config->get('config_mail_smtp_port');

                                       $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

     

                $mail->setTo($this->config->get('config_email'));

                                       $mail->setFrom($this->config->get('config_email'));

                                       $mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));

                                       $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));

                                       $mail->setText($this->request->post['enquiry'] . '\n\n' . $this->request->post['email']);

                                       $mail->send();

     

                                       $this->response->redirect($this->url->link('information/contact/success'));

                            }

     

                            $data['breadcrumbs'] = array();

     

                            $data['breadcrumbs'][] = array(

                                       'text' => $this->language->get('text_home'),

                                       'href' => $this->url->link('common/home')

                            );

     

                            $data['breadcrumbs'][] = array(

                                       'text' => $this->language->get('heading_title'),

                                       'href' => $this->url->link('information/contact')

                            );

     

                            $data['heading_title'] = $this->language->get('heading_title');

     

                            $data['text_location'] = $this->language->get('text_location');

                            $data['text_store'] = $this->language->get('text_store');

                            $data['text_contact'] = $this->language->get('text_contact');

                            $data['text_address'] = $this->language->get('text_address');

                            $data['text_telephone'] = $this->language->get('text_telephone');

                            $data['text_fax'] = $this->language->get('text_fax');

                            $data['text_open'] = $this->language->get('text_open');

                            $data['text_comment'] = $this->language->get('text_comment');

     

                            $data['entry_name'] = $this->language->get('entry_name');

                            $data['entry_email'] = $this->language->get('entry_email');

                            $data['entry_enquiry'] = $this->language->get('entry_enquiry');

     

                            $data['button_map'] = $this->language->get('button_map');

     

                            if (isset($this->error['name'])) {

                                       $data['error_name'] = $this->error['name'];

                            } else {

                                       $data['error_name'] = '';

                            }

     

                            if (isset($this->error['email'])) {

                                       $data['error_email'] = $this->error['email'];

                            } else {

                                       $data['error_email'] = '';

                            }

     

                            if (isset($this->error['enquiry'])) {

                                       $data['error_enquiry'] = $this->error['enquiry'];

                            } else {

                                       $data['error_enquiry'] = '';

                            }

     

                            $data['button_submit'] = $this->language->get('button_submit');

     

                            $data['action'] = $this->url->link('information/contact', '', 'SSL');

     

                            $this->load->model('tool/image');

     

                            if ($this->config->get('config_image')) {

                                       $data['image'] = $this->model_tool_image->resize($this->config->get('config_image'), $this->config->get('config_image_location_width'), $this->config->get('config_image_location_height'));

                            } else {

                                       $data['image'] = false;

                            }

     

                            $data['store'] = $this->config->get('config_name');

                            $data['address'] = nl2br($this->config->get('config_address'));

                            $data['geocode'] = $this->config->get('config_geocode');

                            $data['geocode_hl'] = $this->config->get('config_language');

                            $data['telephone'] = $this->config->get('config_telephone');

                            $data['fax'] = $this->config->get('config_fax');

                            $data['open'] = nl2br($this->config->get('config_open'));

                            $data['comment'] = $this->config->get('config_comment');

     

                            $data['locations'] = array();

     

                            $this->load->model('localisation/location');

     

                            foreach((array)$this->config->get('config_location') as $location_id) {

                                       $location_info = $this->model_localisation_location->getLocation($location_id);

     

                                       if ($location_info) {

                                                   if ($location_info['image']) {

                                                               $image = $this->model_tool_image->resize($location_info['image'], $this->config->get('config_image_location_width'), $this->config->get('config_image_location_height'));

                                                   } else {

                                                               $image = false;

                                                   }

     

                                                   $data['locations'][] = array(

                                                               'location_id' => $location_info['location_id'],

                                                               'name'        => $location_info['name'],

                                                               'address'     => nl2br($location_info['address']),

                                                               'geocode'     => $location_info['geocode'],

                                                               'telephone'   => $location_info['telephone'],

                                                               'fax'         => $location_info['fax'],

                                                               'image'       => $image,

                                                               'open'        => nl2br($location_info['open']),

                                                               'comment'     => $location_info['comment']

                                                   );

                                       }

                            }

     

                            if (isset($this->request->post['name'])) {

                                       $data['name'] = $this->request->post['name'];

                            } else {

                                       $data['name'] = $this->customer->getFirstName();

                            }

     

                            if (isset($this->request->post['email'])) {

                                       $data['email'] = $this->request->post['email'];

                            } else {

                                       $data['email'] = $this->customer->getEmail();

                            }

     

                            if (isset($this->request->post['enquiry'])) {

                                       $data['enquiry'] = $this->request->post['enquiry'];

                            } else {

                                       $data['enquiry'] = '';

                            }

     

                            // Captcha

                            if ($this->config->get($this->config->get('config_captcha') . '_status') && in_array('contact', (array)$this->config->get('config_captcha_page'))) {

                                       $data['captcha'] = $this->load->controller('captcha/' . $this->config->get('config_captcha'), $this->error);

                            } else {

                                       $data['captcha'] = '';

                            }

     

                            $data['column_left'] = $this->load->controller('common/column_left');

                            $data['column_right'] = $this->load->controller('common/column_right');

                            $data['content_top'] = $this->load->controller('common/content_top');

                            $data['content_bottom'] = $this->load->controller('common/content_bottom');

                            $data['footer'] = $this->load->controller('common/footer');

                            $data['header'] = $this->load->controller('common/header');

     

                            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/contact.tpl')) {

                                       $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/contact.tpl', $data));

                            } else {

                                       $this->response->setOutput($this->load->view('default/template/information/contact.tpl', $data));

                            }

                }

     

                protected function validate() {

                            if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)) {

                                       $this->error['name'] = $this->language->get('error_name');

                            }

     

                            if (!preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $this->request->post['email'])) {

                                       $this->error['email'] = $this->language->get('error_email');

                            }

     

                          if ((utf8_strlen($this->request->post['enquiry']) < 10) || (utf8_strlen($this->request->post['enquiry']) > 3000)) {

                                       $this->error['enquiry'] = $this->language->get('error_enquiry');

                            }

     

                            // Captcha

                            if ($this->config->get($this->config->get('config_captcha') . '_status') && in_array('contact', (array)$this->config->get('config_captcha_page'))) {

                                       $captcha = $this->load->controller('captcha/' . $this->config->get('config_captcha') . '/validate');

     

                                       if ($captcha) {

                                                   $this->error['captcha'] = $captcha;

                                       }

                            }

     

                            return !$this->error;

                }

     

                public function success() {

                            $this->load->language('information/contact');

     

                            $this->document->setTitle($this->language->get('heading_title'));

     

                            $data['breadcrumbs'] = array();

     

                            $data['breadcrumbs'][] = array(

                                       'text' => $this->language->get('text_home'),

                                       'href' => $this->url->link('common/home')

                            );

     

                            $data['breadcrumbs'][] = array(

                                       'text' => $this->language->get('heading_title'),

                                       'href' => $this->url->link('information/contact')

                            );

     

                            $data['heading_title'] = $this->language->get('heading_title');

     

                            $data['text_message'] = $this->language->get('text_success');

     

                            $data['button_continue'] = $this->language->get('button_continue');

     

                            $data['continue'] = $this->url->link('common/home');

     

                            $data['column_left'] = $this->load->controller('common/column_left');

                            $data['column_right'] = $this->load->controller('common/column_right');

                            $data['content_top'] = $this->load->controller('common/content_top');

                            $data['content_bottom'] = $this->load->controller('common/content_bottom');

                            $data['footer'] = $this->load->controller('common/footer');

                            $data['header'] = $this->load->controller('common/header');

     

                            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {

                                       $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/common/success.tpl', $data));

                            } else {

                                       $this->response->setOutput($this->load->view('default/template/common/success.tpl', $data));

                            }

                }

    }

  5. Исправил код как посоветовали. Итог: При настройки протокола SMTP , зарегистрированным и незарегистрированным пользователем "заказ из корзины" приходит на почту, т.е ВСЁ ХОРОШО:) , но не отправляется  сообщение из "Свяжитесь с нами: Выдает ошибку

     

    Notice: Error: DATA not accepted from server! in /var/www/блаблабла.ru/system/library/mail.php on line 423

     

    При настройки протокола ПОЧТА зарегистрированным ,сообщение ушло и пришло на почту т.е ВСЁ ХОРОШО:) но "заказ из корзины" ушел, но на почту не пришел :(  , Не зарегистрированным "сообщение и заказ" ушли, но на почту НЕ ПРИШЛИ :(

     

  6. При настройках На первом скрине отправляется заказ на почту, но не работает "Связаться с нами". На втором скрине  с точностью наоборот: "Связаться с нами" работает, но не работает отправка заказа на почту.  Помогите ! Выручайте!

  7. Проблема в следующем: при разных настройках почты работают разные функции.

     Как  и где можно исправить? Пробовал разные методы, но вернулся к исходному коду

    Отправляет заказ,но не Связаться с нами.jpg

    Отправляет Связаться с нами, но не отправляет заказ.jpg

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.