D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys
/
adm
/
app
/
gre
/
Models
/
Contrato
/
Filename :
ModEnviaEmailContrato.php
back
Copy
<?php namespace App\gre\Models\Contrato; if (!defined('URL')) { header("Location: /"); exit(); } /** * Model para envio de e-mail de contrato com anexos */ class ModEnviaEmailContrato { private $Resultado; private $DadosUsuario; private $DadosEmpr_id; private $Dados; private $DadosEmail; function getResultado() { return $this->Resultado; } public function enviarEmail($Dados = null) { $this->Dados = $Dados; $this->DadosEmpr_id = $_SESSION['id_user']; $emailContrato = new \App\adms\Models\helper\AdmsRead(); $emailContrato->fullRead( "SELECT c.*, mask(lpad(c.tel_vend,11,0), '(##) #####-####') tel_vend_m, u.nome nome_vendedor FROM gre_cab_orcamento c INNER JOIN adms_usuarios u ON u.id = c.vend WHERE c.empr_id = :empr_id AND c.num_contrato = :num_contrato", "empr_id=" . $this->DadosEmpr_id . "&num_contrato=" . $this->Dados['num_contrato'] ); $this->DadosUsuario = $emailContrato->getResultado(); if (!empty($this->DadosUsuario)) { $this->dadosEmail($this->DadosEmpr_id); } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: E-mail não cadastrado!</div>"; $this->Resultado = false; } } private function dadosEmail($empr_id) { $uploadDir = $_SERVER['DOCUMENT_ROOT'] . '/crsys/adm/Contratos/' . $empr_id . '/'; // var_dump('$uploadDir: ' . $uploadDir); foreach ($this->DadosUsuario as $email) { extract($email); $nome = explode(" ", $nome_cliente); $prim_nome = $nome[0]; $this->DadosEmail['dest_nome'] = $prim_nome; $this->DadosEmail['dest_email'] = $email_obra; $this->DadosEmail['titulo_email'] = utf8_decode('DOCUMENTOS CONTRATO Nº ') . $num_contrato; $this->DadosEmail['cont_email'] = utf8_decode("Prezado(a) Sr(a) ") . $prim_nome . ",<br><br>"; $this->DadosEmail['cont_email'] .= utf8_decode("Segue em anexo os documentos relativos ao referido contrato") . "<br>"; $this->DadosEmail['cont_email'] .= utf8_decode("Quaisquer dúvidas entre em contato conosco pelo celular abaixo.") . "<br><br>"; $this->DadosEmail['cont_email'] .= utf8_decode("Atenciosamente,") . "<br><br>"; $this->DadosEmail['cont_email'] .= utf8_decode("Montblanc Mármores Ltda.") . "<br><br>"; $this->DadosEmail['cont_email'] .= utf8_decode($nome_vendedor) . "<br>"; $this->DadosEmail['cont_email'] .= utf8_decode($tel_vend_m) . "<br>"; $this->DadosEmail['cont_text_email'] = $this->DadosEmail['cont_email']; // ---------------------------- // 1️⃣ Prepara anexos // ---------------------------- $this->DadosEmail['anexo'] = []; // Adiciona arquivos existentes no servidor if (!empty($this->Dados['arquivos_existentes']) && is_array($this->Dados['arquivos_existentes'])) { foreach ($this->Dados['arquivos_existentes'] as $arquivo) { $this->DadosEmail['anexo'][] = $uploadDir . $arquivo; } } // Adiciona arquivos enviados via formulário (novos uploads) if (!empty($this->Dados['anexos']) && is_array($this->Dados['anexos'])) { foreach ($this->Dados['anexos'] as $arquivo) { $this->DadosEmail['anexo'][] = $uploadDir . $arquivo; } } // ---------------------------- // 2️⃣ Envia e-mail usando PHPMailer // ---------------------------- // var_dump($this->DadosEmail); // debug // die; $emailPHPMailer = new \App\adms\Models\helper\AdmsPhpMailer(); $emailPHPMailer->emailPhpMailer($this->DadosEmail); if ($emailPHPMailer->getResultado()) { $_SESSION['msg'] = "<div class='alert alert-success alert-dismissible fade show' role='alert'> E-mails enviados com sucesso !!. Liberado para Medição. <button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'> </button> </div>"; $this->Resultado = true; } else { $_SESSION['msg'] = "<div class='alert alert-danger alert-dismissible fade show' role='alert'> Erro: Não conseguiu enviar E-mails! <button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'> </button> </div>"; $this->Resultado = false; } } } }