<?php
session_start();
require("../../database/dbConection.php");

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'phpmailer/vendor/phpmailer/phpmailer/src/Exception.php';
require 'phpmailer/vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'phpmailer/vendor/phpmailer/phpmailer/src/SMTP.php';
require 'phpmailer/vendor/autoload.php';

$opcaoSenhaSite = $_POST['opcaoSenhaSite'];
$idPaciente     = $_POST['idPaciente'];

switch ($opcaoSenhaSite) {
  case 'gerar-senha':
    $nomePaciente     = mb_strtoupper($_POST['nomePaciente']);
    $emailPaciente    = mb_strtolower($_POST['emailPaciente']);
    $novaSenhaMostrar = substr(md5(uniqid(rand(), true)), 0, 8);
    $novaSenhaGravar  = sha1($novaSenhaMostrar);
    $stmlUpdateSenha  = $rsConexao->prepare("UPDATE tb_paciente SET senha_site='$novaSenhaGravar', senha_validada='N' WHERE id_paciente='$idPaciente'");
    $stmlUpdateSenha  -> execute();
    
    # --- ENVIAR EMAIL PARA VALIDAÇÃO DA SENHA --- #
    $authorizationCode  = base64_encode(date("Hd-m-Y")."##".$idPaciente); 
    $linkValidacao      = "https://regulacaomunicipal.pmlf.ba.gov.br/painel/validaracesso?authorization=$authorizationCode";
    
    $enviaEmail   = new PHPMailer(true);
    $assuntoEmail = "Validar Senha de Acesso";
    $htmlEmail    = "
    <table style='width:100%;'>
      <tr>
        <td style='text-align:center'>
          <table width='100%' align='left' style='border-collapse: collapse; font-family:arial; font-size:10pt; background-color:#fff; border:solid #000 1px;' align='center'>
            <th style='border:solid #000 1px; line-height: 25px; height: 25px; background-color:#C63C00; color:#fff; font-size:12pt; padding:10px'>
              REGULAÇÃO MUNICIPAL<br>
              DE LAURO DE FRENTAS
            </th>
            <tr style='border:solid #000 1px; line-height: 30px; height: 40px; background-color:#ee8000; color:#fff; font-size:12pt; padding:10px'>
              <td align='center'>
                <b>VALIDAR SENHA DE ACESSO</b>
              </td>          
            </tr>
            <tr>
              <td style='line-height: 25px; height: 25px; padding:20px; font-size:14pt' colspan='3'>
                <b>Olá! $nomePaciente<br>
                Seu cadastro no site da Regulação Municipal de Lauro de Freitas foi gerado com sucesso.<br><br></b>
                Para que você possa acessar o site é necessário validar sua senha.<br>
                <b>Clique no botão abaixo para realizar a validação.</b><br><br><br>
                <a href='$linkValidacao' target='_blank' style='color: #212529; background-color: #ee8000; border: #C63C00 2px dotted; height: 30px; padding:30px; font-weight: bold; cursor:pointer; text-decoration: none; font-size:12pt'>
                  VALIDAR SENHA DE ACESSO
                </a>
                <br><br>
              </td>
            </tr>
            <tr>
              <td style='line-height: 25px; height: 25px; padding:10px; font-size:9pt; background-color:#860000; color:#fff' colspan='3'>
                <b>ATENÇÃO! ESTA É UMA MENSAGEM AUTOMÁTICA DO SISTEMA. NÃO RESPONDA  ESTE EMAIL, ELE NÃO É MONITORADO E NÃO HÁ NINGUÉM PARA RESPONDER.</b>
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
    ";
    
    $enviaEmail->CharSet = 'UTF-8';
    $enviaEmail->WordWrap = 50;
    $enviaEmail->isHTML(true);
    $enviaEmail->SMTPSecure = 'ssl';
    $enviaEmail->isSMTP();
    $enviaEmail->SMTPDebu = 0;
    $enviaEmail->Host = 'laurodefreitas.portalgsaude.app.br';
    $enviaEmail->Port = 465;
    $enviaEmail->SMTPAuth = true;
    $enviaEmail->SMTPOptions = array(
    'ssl' => array(
      'verify_peer' => false,
      'verify_peer_name' => false,
      'allow_self_signed' => false
    )
    );
    $enviaEmail->Username = 'noreply@laurodefreitas.portalgsaude.app.br';
    $enviaEmail->Password ='centralmarcacao@23#24';
    $enviaEmail->setFrom('noreply@laurodefreitas.portalgsaude.app.br','Regulação Municipal - Lauro de Freitas');
    $enviaEmail->addAddress($emailPaciente,$nomePaciente);
    $enviaEmail->addReplyTo('noreply@centralmarcacao-laurodefreitas.ba.gov.br');  
    $enviaEmail->Subject = ($assuntoEmail);
    $enviaEmail->msgHTML($htmlEmail);
    $enviaEmail->send();
    echo "$novaSenhaMostrar";
  break;
  
  case 'senha-gerada':
    $stmSenhaValidada = $rsConexao->prepare("SELECT senha_validada FROM tb_paciente WHERE id_paciente='$idPaciente'");
    $stmSenhaValidada -> execute();  
    $rsSenhaValidada  = $stmSenhaValidada->fetch(PDO::FETCH_OBJ);
    if($rsSenhaValidada->senha_validada=="S"){
      echo "SenhaValidada";
    }else{
      echo "SenhaNãoValidada";
    }
  break;
}



?>