<?php
session_name('portal_absa');
session_start();
if(!isset($_SESSION['usuario_p_prov_absa']) || trim($_SESSION['usuario_p_prov_absa']) == "" || trim(strtoupper($_SESSION["URL_PORTAL"]."admin.php")) != trim(strtoupper($_SERVER['HTTP_REFERER']))){
	?><script>window.location.href="<?=$_SESSION["URL_PORTAL"]."index.php"?>"</script><?
	exit;
}
require_once "../../clases/datosbd.class.php";
require_once "../../libs/funciones.php";
require_once "../../MandaCorreos/FuncionSendMail.php";

date_default_timezone_set("America/Mexico_City");

$datosbd = new datosbd();
if($datosbd->getDoce($_REQUEST["doce_uuid"])){
    if($datosbd->cDoce == null){
        $datosbd->Alert("No se encontro la información del documento.");
    }
}else{
    $datosbd->Alert("Ocurrio un error al consultar. ".$datosbd->mensajeerror);
}
if($datosbd->getFormaPago($datosbd->cDoce["formadepago"])){
    if($datosbd->cFormaPago == null){
        $datosbd->Alert("No se encontro la forma de pago en el catalogo. Intente nuevamente.");
    }
}else{
    $datosbd->Alert("Ocurrio un error al consultar la forma de pago. ".$datosbd->mensajeerror);
}
if($datosbd->getNombreEmisor($datosbd->cDoce["rfcemisor"])){
    if($datosbd->cNombreEmisor == null){
        $datosbd->Alert("No se encontro el emisor dado de alta. Intente nuevamente.");
    }
}else{
    $datosbd->Alert("Ocurrio un error al consultar la forma de pago. ".$datosbd->mensajeerror);
}
if(!$datosbd->getPagoDocumentosRef($_REQUEST["doce_uuid"])){
    $datosbd->Alert("Ocurrio un error al consultar los documentos pagados. ".$datosbd->mensajeerror);
}
$body = file_get_contents("../../plantillas/notificacionPago.html");

$arrlblEnc = array("<<SERIE>>","<<FOLIO>>","<<RFCEMISOR>>","<<NOMBREEMISOR>>","<<FECHA>>","<<HORA>>","<<RFCRECEPTOR>>","<<NOMBRERECEPTOR>>","<<METODOPAGO>>","<<FORMAPAGO>>","<<MONEDA>>","<<TIPOCAMBIO>>","<<TOTAL>>");
$arrValEnc = array($datosbd->cDoce["serie"],$datosbd->cDoce["folio"],$datosbd->cDoce["rfcemisor"],$datosbd->cNombreEmisor["nombre"],substr($datosbd->cDoce["fecha"],0,4),substr($datosbd->cDoce["fecha"],10),$datosbd->cDoce["rfcreceptor"],$datosbd->cDoce["nombrerec"],$datosbd->cDoce["metodopago"],$datosbd->cFormaPago["descripcion"],$datosbd->cDoce["moneda"],number_format($datosbd->cDoce["tipocambio"],6,".",","),number_format($datosbd->cDoce["total"],6,".",","));

$body = str_replace($arrlblEnc, $arrValEnc, $body);

$arrBody = explode("--INICIADETALLE--",$body);
$arrDetalle = explode("--TERMINADETALLE--",$arrBody[1]);

$auxDetalle = "";
if($datosbd->cPagoDocumentosRef != null){
    while($tPago = mysqli_fetch_assoc($datosbd->cPagoDocumentosRef)){
        $arrlblDet = array("<<UUIDREL>>","<<NUMPARCIALIDADREL>>","<<MONEDAREL>>","<<TIPOCAMBIOREL>>","<<MONTOREL>>");
        $arrValDet = array($tPago["uuidcfdirelacionado"],$tPago["numparcialidad"],$tPago["moneda"],number_format($tPago["tipocambio"],6,".",","),number_format($tPago["monto"],6,".",","));
        $auxDetalle.= str_replace($arrlblDet, $arrValDet, $arrDetalle[0]);
    }
}

$body = $arrBody[0].$auxDetalle.$arrDetalle[1];
//Traigo la ruta de donde se guardan los archivos
if(!$datosbd->getRutaPDF($datosbd->cDoce["rfcemisor"], $datosbd->cDoce["tipodocto"])){
        $datosbd->Alert("Ocurrio un error al consultar la ruta de almacen del documento. Error: ".$datosbd->mensajeerror);
    }
    if($datosbd->cRutaPDF == null){
        $datosbd->Alert("No se encontro la ruta de almacen de los documentos en la configuración del sistema.");
    }
	
$pdf=$datosbd->cRutaPDF."/".substr($datosbd->cDoce["fecha"], 0,4)."/".substr($datosbd->cDoce["fecha"], 5,2)."/".$datosbd->cDoce["archpdf"];;
$xml = $datosbd->cRutaXML."/".substr($datosbd->cDoce["fecha"], 0,4)."/".substr($datosbd->cDoce["fecha"], 5,2)."/".$datosbd->cDoce["archxml"];
if(!is_file($xml)){
	$xml = "";
}
if(!is_file($pdf)){
	$pdf = "";
}

if(!@SendMail($_REQUEST["correo"],$_REQUEST["correo"],utf8_decode("Notificación de pago de ".$datosbd->cNombreEmisor["nombre"]), utf8_decode($body),$pdf,$xml,"")){
    $datosbd->Alert("No se pudo enviar el mensaje. Intente nuevamente.");
}else{
    $datosbd->Info("Se ha enviado el correo correctamente.");
}

?>