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

$correcto = false;
$sesion   = false;
$mensaje  = 'No se puedo guardar 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(9, 6)
    )
) {	
	require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Varios.Class.php');
	// Variables recibidas correctamente, sanitizamos las  variables
	$txt_modificar  = filter_var($_POST["txt_modificar"], FILTER_SANITIZE_NUMBER_INT);
	$txt_accion 	= filter_var($_POST["txt_accion"], FILTER_SANITIZE_STRING);
    $usuarioId      = Varios::decodifica($_SESSION[_SYSTEM_SESIONID.'userId']);
	
	require_once($_SERVER['DOCUMENT_ROOT'].'/clases/ClienteProveedor.Class.php');
	$persona_obj = new ClienteProveedor(null);
	$auditoria_accion   = 'Update';
	$auditoria_tabla    = "persona";
	$persona_inf 		= $persona_obj->informacionPersona( $txt_modificar, null, 0);
	if ($txt_accion == 'Aprobar') {
        $v_contraseña       = Varios::generar_codigo(12);
        $v_cod_verificacion = Varios::generar_codigo(10);		
		
		$auditoria_sql      = "EXEC agenda.SP_persona_activar ".$txt_modificar.', '.$usuarioId.',"'.$v_contraseña.'"."'.$v_cod_verificacion.'"';		
		$persona_resultado  = $persona_obj->aprobarPersona($txt_modificar, $usuarioId, $v_contraseña, $v_cod_verificacion );
	} else if ($txt_accion == 'Rechazar'){
        $txt_motivo 	    = filter_var($_POST["txt_motivo"], FILTER_SANITIZE_STRING);
		$auditoria_sql      = "EXEC agenda.SP_persona_rechazar ".$txt_modificar.',"'.$txt_motivo.'", '.$usuarioId;		
		$persona_resultado  = $persona_obj->rechazarPersona($txt_modificar, $txt_motivo, $usuarioId);
	} else { //Habilitar
		$v_contraseña       = Varios::generar_codigo(12);
        $v_cod_verificacion = Varios::generar_codigo(10);		
		$txt_motivo 	    = filter_var($_POST["txt_motivo"], FILTER_SANITIZE_STRING);
		$auditoria_sql      = "EXEC agenda.SP_persona_habilitar ".$txt_modificar.',"'.$txt_motivo.'", '.$usuarioId.',"-"."'.$v_cod_verificacion.'"';	
		$persona_resultado  = $persona_obj->habilitarPersona($txt_modificar, $txt_motivo, $usuarioId, SHA1($v_contraseña), $v_cod_verificacion);
	}
	
	$mensaje 	= $persona_resultado[1];
	$resultado 	= $persona_resultado[0];
	if($resultado > 0) {
		$personaId = $txt_modificar;
		if ($txt_accion == 'Aprobar') {
			enviarCorreoAprobar( $persona_inf, $v_contraseña );
		} else if ($txt_accion == 'Rechazar') {
			enviarCorreoRechazar( $persona_inf, $txt_motivo );
		}
		
		$correcto 	= true;		
	}
	Varios::auditInsert( $auditoria_accion, $auditoria_tabla, $auditoria_sql, $resultado, $mensaje );	
	$persona_obj->Close();
	
} 

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

function enviarCorreoAprobar( $persona_inf, $correoClave ) {
    global $mensaje;

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

    $correoRazonSocial  = $persona_inf['pers_razon_social'];
    $correoDestinatario = $persona_inf['pers_email'];
    $correoUsuario      = $persona_inf['pers_rut'];

    $correoTitulo = 'Credenciales de Acceso - '.$correoRazonSocial;

    $html = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/varios/correos/correoAdmAceptacionSolicitudInscripcion.html');

    $html = str_replace('{{ correoRazonSocial }}', $correoRazonSocial, $html);
    $html = str_replace('{{ correoUsuario }}', $correoUsuario, $html);
    $html = str_replace('{{ correoClave }}', $correoClave, $html);
    $html = str_replace('{{ sistemaURL }}', 'http://local.sils.agendamiento/', $html);

    $mail->Subject = $correoTitulo;

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

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

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

    }
}


function enviarCorreoRechazar( $persona_inf, $motivo ) {
    global $mensaje;

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

    $correoRazonSocial  = $persona_inf['pers_razon_social'];
    $correoDestinatario = $persona_inf['pers_email'];
    $correoUsuario      = $persona_inf['pers_rut'];

    $correoTitulo = 'Rechazo Solicitud de cuenta de acceso - '.$correoRazonSocial;

    $html = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/varios/correos/correoAdmRechazoSolicitudInscripcion.html');

    $html = str_replace('{{ correoRazonSocial }}', $correoRazonSocial, $html);
    $html = str_replace('{{ correoUsuario }}', $correoUsuario, $html);
    $html = str_replace('{{ correoMotivoRechazo }}', $motivo, $html);
    $html = str_replace('{{ sistemaURL }}', 'http://local.sils.agendamiento/', $html);

    $mail->Subject = $correoTitulo;

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

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

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

    }
}
?>