[Помогите] Feedback Pro - отправка по почте адреса страницы, с которой была заполнена форма

Тема в разделе "OpenCart", создана пользователем alex5151, 20 апр 2014.

  1. alex5151

    alex5151

    Регистрация:
    15 ноя 2012
    Сообщения:
    166
    Симпатии:
    27
    Данная функция реализована в последний версии. Если у кого-нибудь есть и он поделится - вопрос закроется.
    А пока есть только старая. В ней этот адрес есть и посмотреть его можно в админке в списке Feedback сообщений. А вот отправки по почте нет.
    Формирование письма происходит в \catalog\controller\module\feedbackpro.php
    вот нужная функция
    Код:
        public function send() {
        
                $this->load->model('catalog/feedbackpro');
                $this->language->load('module/feedbackpro');
        
                $this->data['text_feedbackpro_success'] = $this->language->get('text_feedbackpro_success');
        
                if (!empty($this->request->post['getid'])) {
                        $feedback = $this->config->get('feedback_'.$this->request->post['getid']);
                        $this->data['feedback'] = $feedback;
                }
              
                $render = array();
              
                foreach($this->request->post['feedback'] as $key => $data) {
                        if (isset($feedback['filds'][$key]['fieldname'])) {
                                if ( (!empty($feedback['filds'][$key]['requaried']))&&(empty($data))) {
                                        $this->error[$key] = $feedback['filds'][$key]['fieldname'];
                                } else {
                                        $render[$feedback['filds'][$key]['fieldname']] = $data;
                                }
                        }
                }
        
                $this->data['feedback']['filds'] = $render;
        
                $json = array();
                $headers = array();
              
                $headers['referer'] = '<a href="'.$_SERVER["HTTP_REFERER"].'" target="_blank">'.$_SERVER["HTTP_REFERER"].'</a>';
                $headers['ip'] = $_SERVER['REMOTE_ADDR'];
              
                $this->data['feedback']['filds']['info'] = $headers;
                $this->data['feedback']['description'] = (!empty($this->request->post['feedback'][$feedback['main']]))?$this->request->post['feedback'][$feedback['main']]:'---';
                $this->data['feedback']['name'] = $feedback['heading'];
        
                        if(empty($this->error)) {
        
                            $json['success'] = $this->data['text_feedbackpro_success'];
        
                                $sendsemail = $this->data['feedback']['adminemail'];
        
                                if (!empty($sendsemail)) {
                            $ourmail = $this->data['feedback']['adminemail'];
                        } else {
                                        $ourmail = $this->config->get('config_email');
                                }
        
                            $mail = new Mail();
                                $mail->protocol = $this->config->get('config_mail_protocol');
                                $mail->parameter = $this->config->get('config_mail_parameter');
                                $mail->hostname = $this->config->get('config_smtp_host');
                                $mail->username = $this->config->get('config_smtp_username');
                                $mail->password = $this->config->get('config_smtp_password');
                                $mail->port = $this->config->get('config_smtp_port');
                                $mail->timeout = $this->config->get('config_smtp_timeout');
                            $mail->setTo($ourmail);
                            $mail->setFrom(substr(preg_replace("#/$#", "", $this->config->get('config_url')), 7));
                            $mail->setSender(substr(preg_replace("#/$#", "", $this->config->get('config_url')), 7));
                            $mail->setSubject($feedback['heading']);
                                  
                                $feedbackresult = $this->data['feedback']['filds'];
                                              
                                array_pop($feedbackresult);
                                          
                                $polya = array();
        
                                foreach ($feedbackresult as $key => $mailvalues) {
                                        $polya[] = $key.' : '. $mailvalues;
                                }
        
                                $all = implode("\r\n", $polya);
                            $MailCom = $all;
                                  
                            $mail->setText(strip_tags(html_entity_decode($MailCom, ENT_QUOTES, 'UTF-8')));
                            $mail->send();
        
                                $this->model_catalog_feedbackpro->addFeedbackpro($this->data['feedback']);
        
                        } else {
                                $json['error'] = $this->error;
                        }
        
                        $this->response->setOutput(json_encode($json));
                }
    
    вот кусок с нужным адресом
    Код:
    $headers['referer'] = '<a href="'.$_SERVER["HTTP_REFERER"].'" target="_blank">'.$_SERVER["HTTP_REFERER"].'</a>';
    Помогите реализовать его отправку на почту. Имхо решается в несколько строк, но знаний пока недостаточно