<?php

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

require(__DIR__ . "/../fphp.php");
require(__DIR__ . "/../payroll/payroll.php");
require(__DIR__ . "/../email/mail.php");
require("PHPMailer/src/Exception.php");
require("PHPMailer/src/PHPMailer.php");
require("PHPMailer/src/SMTP.php");



use function Saireh\Payroll\api_download_folder;

//Fecha a definir de archivos descargados
$hoy = date("d-M-y");
$fecha_archivo = date("d-m-Y", strtotime($hoy . "- 1 days"));

leer_environment();

//Descarga archivo HCM intfav01.dat.enc
$error_intfav01 = 0; //Bandera para identificar si hubo error en la recepción del archivo
$result_intfav01 = api_download_folder('intfav01.dat.enc');
//Valida si fue descargado satisfactoriamente el archivo
if (strpos($result_intfav01, 'Error al descargar el archivo') !== false) {
	//Hubo error al descargar el archivo
	//echo $result_intfav01;
	$error_intfav01 = 1;
} else {
	//Archivo descargado satisfactoriamente
	$url_archivo_guardar_intfav01 = __DIR__ . '/' . $fecha_archivo . '_encrypted_intfav01.dat';
	file_put_contents($url_archivo_guardar_intfav01, $result_intfav01);
}

//Descarga archivo HCM intfav06.dat
$error_intfav06 = 0; //Bandera para identificar si hubo error en la recepción del archivo
$result_intfav06 = api_download_folder('intfav06.dat');
//Valida si fue descargado satisfactoriamente el archivo
if (strpos($result_intfav06, 'Error al descargar el archivo') !== false) {
	//Hubo error al descargar el archivo
	//echo $result_intfav06;
	$error_intfav06 = 1;
} else {
	//Archivo descargado satisfactoriamente
	$url_archivo_guardar_intfav06 = __DIR__ . '/' . $fecha_archivo . '_intfav06.dat';
	file_put_contents($url_archivo_guardar_intfav06, $result_intfav06);
}

//Verifica que no hayan habido errores en la recepción de archivos y que se hayan guardado satisfactoriamente
if (file_exists($url_archivo_guardar_intfav01) && file_exists($url_archivo_guardar_intfav06) && ($error_intfav01 == 0) && ($error_intfav06 == 0)) {
	$asunto_correo = "OK - Recepcion de archivos HCM " . $fecha_archivo;
	$cuerpo_mensaje = "Archivos recibidos satisfactoriamente: <br> - intfav01.dat.enc  <br> - intfav06.dat";
} else {
	$asunto_correo = "ERROR - Recepcion de archivos HCM " . $fecha_archivo;
	if (file_exists($url_archivo_guardar_intfav01) && ($error_intfav01 == 0)) {
		$cuerpo_mensaje = "- intfav01.dat.enc Archivo recibido satisfactoriamente<br>";
	} else {
		$cuerpo_mensaje = "- intfav01.dat.enc <b>Archivo NO recibido </b>, ERROR: " . $result_intfav01 . "<br>";
	}

	if (file_exists($url_archivo_guardar_intfav06) && ($error_intfav06 == 0)) {
		$cuerpo_mensaje = $cuerpo_mensaje . "- intfav06.dat Archivo recibido satisfactoriamente<br>";
	} else {
		$cuerpo_mensaje = $cuerpo_mensaje . "- intfav06.dat <b>Archivo NO recibido </b>, ERROR: " . $result_intfav06 . "<br>";
	}
}

echo "Asunto: <br>" . $asunto_correo . "<br>";
echo "Cuerpo de mensaje: <br>" . $cuerpo_mensaje . "<br>";

######################################
## Procede a enviar correo electrónico
######################################
use PHPMailer\PHPMailer\PHPMailer;
//use PHPMailer\PHPMailer\Exception;

//require 'PHPMailer/src/Exception.php';
//require 'PHPMailer/src/PHPMailer.php';
//require 'PHPMailer/src/SMTP.php';

// Instantiation and passing [ICODE]true[/ICODE] enables exceptions
$mail = new PHPMailer(true);

try {
	//Server settings
	$mail->SMTPDebug = 2; //Enable verbose debug output
	$mail->isSMTP(); // Set mailer to use SMTP
	$mail->Host = 'ssl://www.saireh-nomina.com'; // Specify main and backup SMTP servers
	$mail->SMTPAuth = true; // Enable SMTP authentication
	$mail->Username = 'info@saireh-nomina.com'; // SMTP username
	$mail->Password = 'c0n5ul74rh3'; // SMTP password
	$mail->SMTPSecure = 'tls'; // Enable TLS encryption, [ICODE]ssl[/ICODE] also accepted
	$mail->Port = 465; // TCP port to connect to

	//Recipients
	$mail->setFrom('info@saireh-nomina.com', 'Saireh Ford');
	$mail->addAddress('nomina.ford@saireh.com'); // Add a recipient

	// Attachments
	if (file_exists($url_archivo_guardar_intfav01) && ($error_intfav01 == 0)) {
		$mail->addAttachment($url_archivo_guardar_intfav01);
	}

	if (file_exists($url_archivo_guardar_intfav06) && ($error_intfav06 == 0)) {
		$mail->addAttachment($url_archivo_guardar_intfav06);
	}

	// Content
	$mail->isHTML(true); // Set email format to HTML
	$mail->Subject = $asunto_correo;
	$mail->Body = $cuerpo_mensaje;
	$mail->AltBody = $cuerpo_mensaje;

	$mail->send();
	echo 'Message has been sent';
} catch (Exception $e) {
	echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
