<?php
if(!isset($_SESSION)) {
    session_start();
}

$correcto = false;
$sesion   = false;
$mensaje  = 'No se puedo anular la información';

require_once($_SERVER['DOCUMENT_ROOT'].'/varios/varios.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Varios.Class.php');

if( Varios::isActiveSession()
    && (
        // Varios::hasModuleActionAccess(10, 5)
        // || Varios::hasModuleActionAccess(10, 7)
        true
    )
) {
	require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Varios.Class.php');
	// Variables recibidas correctamente, sanitizamos las  variables
	$txt_reseIdCod 		= filter_var($_POST["md_modal_reservaTarea_txt_id"], FILTER_SANITIZE_STRING);
	$txt_reseId 		= filter_var( Varios::decodifica($txt_reseIdCod), FILTER_SANITIZE_NUMBER_INT);
	$txt_motivo 		= filter_var($_POST["md_modal_reservaTarea_txt_justificacion"], FILTER_SANITIZE_STRING);

    $id_usuario 		= Varios::decodifica($_SESSION[_SYSTEM_SESIONID.'userId']);

	$txt_accionCod 		= filter_var($_POST["md_modal_reservaTarea_txt_accion"], FILTER_SANITIZE_STRING);
	$txt_accion 		= filter_var( Varios::decodifica($txt_accionCod), FILTER_SANITIZE_STRING);

    if( strlen(trim($txt_motivo)) == 0) {
        $mensaje = 'Debe ingresar la justificación';
    } else {
        require_once($_SERVER['DOCUMENT_ROOT'].'/clases/gestionReserva.Class.php');
        $reserva_obj = new gestionReserva(null);
        if( $txt_accion == 'Rechazar' ) {
            $auditoria_accion   = "Updare";
            $auditoria_tabla    = "reserva";
            $auditoria_sql      = "EXEC agenda.SP_reserva_adm_rechazar ".$txt_reseId.", '".$txt_motivo."', ".$id_usuario;
            $reserva_resultado  = $reserva_obj->rechazarReserva($txt_reseId, $txt_motivo, $id_usuario);
        } else if( $txt_accion == 'Anular' ) {
            $auditoria_accion   = "Updare";
            $auditoria_tabla    = "reserva";
            $auditoria_sql      = "EXEC agenda.SP_reserva_anular ".$txt_reseId.", '".$txt_motivo."', ".$id_usuario;
            $reserva_resultado  = $reserva_obj->anularReserva($txt_reseId, $txt_motivo, $id_usuario);
        }
        $mensaje 	= $reserva_resultado['mensaje'];
	    $resultado 	= $reserva_resultado['resultado'];
        if($resultado > 0) {
            enviarCorreo( $txt_accion, $txt_reseId, $txt_motivo );
            $correcto 	= true;
        }
        Varios::auditInsert( $auditoria_accion, $auditoria_tabla, $auditoria_sql, $resultado, $mensaje );
        $reserva_obj->Close();
    }

}

$data = array('success' => $correcto, 'mensaje' => $mensaje, 'sesion' => $sesion );
echo json_encode($data);

function enviarCorreo( $accion, $reservaId, $justificacion ) {
    global $mensaje;

    require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Correo.Class.php');
    $correo_obj  = new Correo(null);
    $mail = $correo_obj->mail;

    require_once($_SERVER['DOCUMENT_ROOT'].'/clases/gestionReserva.Class.php');
    $reserva_obj  = new gestionReserva(null);
    $reserva_inf  = $reserva_obj->informacionReserva( $reservaId, null, 0);

    $correoCorrelativo  = $reserva_inf['rese_correlativo'];
    $correoRazonSocial  = $reserva_inf['pers_razon_social'];
    $correoDestinatario = $reserva_inf['pers_email'];
    $correoCargaPara    = $reserva_inf['carga_para'];
    $correoFechaReserva = $reserva_inf['rese_fecha_formato'];
    $correoHorario      = $reserva_inf['res_bloq_inicio'].' - '.$reserva_inf['res_bloq_fin'];
    $correoBodega       = $reserva_inf['bodega_nombre'];
    $correoPuerta       = $reserva_inf['puer_descripcion'];
    $reserva_obj->Close();

    if( $accion == 'Rechazar' ) {
        $correoTitulo = 'Reserva '.$correoCorrelativo.' rechazada - '.$correoRazonSocial;
        $mail->Subject = $correoTitulo;
        $html = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/varios/correos/correoAdmRechazoReserva.html');
    } else if( $accion == 'Anular' ) {
        $correoTitulo = 'Reserva '.$correoCorrelativo.' anulada - '.$correoRazonSocial;
        $mail->Subject = $correoTitulo;
        $html = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/varios/correos/correoAdmAnulacionReserva.html');
    }

    $html = str_replace('{{ correoTitulo }}', $correoTitulo, $html);
    $html = str_replace('{{ correoRazonSocial }}', $correoRazonSocial, $html);
    // $html = str_replace('{{ correoCargaPara }}', $correoCargaPara, $html);
    $html = str_replace('{{ correoReservaFecha }}', $correoFechaReserva, $html);
    $html = str_replace('{{ correoReservaHorario }}', $correoHorario, $html);
    $html = str_replace('{{ correoReservaBodega }}', $correoBodega, $html);
    $html = str_replace('{{ correoReservaPuerta }}', $correoPuerta, $html);
    $html = str_replace('{{ correoMotivo }}', $justificacion, $html);
    $html = str_replace('{{ sistemaURL }}', _SYSTEM_URL, $html);

    

    $mail->addAddress( _reservaDestinatarioCorreo, _reservaDestinatarioDenominacion );
    $mail->addAddress( $correoDestinatario, $correoRazonSocial );
    $mail->addBCC('comprobanteSils@amominegocio.cl', 'Comprobante Sils');

    $mail->msgHTML($html, __DIR__);

    if ($mail->send()) {
        $mensaje .= '<br>Correo Enviado con la Solicitud';
    } else {
        $mensaje .= '<br>No se puedo enviar el Correo con la Solicitud';

    }
}
?>