<?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(8, 6)
) {
	require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Varios.Class.php');
    $txt_modificar    	  = filter_var($_POST['txt_modificar'], FILTER_SANITIZE_NUMBER_INT);
    $txt_rut     		  = filter_var($_POST['txt_rut'], FILTER_SANITIZE_STRING);
    $txt_rut     		  = Varios::rutQuitarFormato($txt_rut);
    $txt_apellidoPaterno  = filter_var($_POST['txt_apellidoPaterno'], FILTER_SANITIZE_STRING);
    $txt_apellidoMaterno  = filter_var($_POST['txt_apellidoMaterno'], FILTER_SANITIZE_STRING);
    $txt_nombre           = filter_var($_POST['txt_nombre'], FILTER_SANITIZE_STRING);
    $txt_telefonoCelular  = filter_var($_POST['txt_telefonoCelular'], FILTER_SANITIZE_NUMBER_INT);
    $txt_email            = filter_var($_POST['txt_email'], FILTER_SANITIZE_EMAIL);
    $txt_direccion        = filter_var($_POST['txt_direccion'], FILTER_SANITIZE_STRING);
	$cmb_rol    	      = filter_var($_POST['cmb_rol'], FILTER_SANITIZE_NUMBER_INT);

	require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Funcionario.Class.php');
	$funconario_obj = new Funcionario(null);
    if ($txt_modificar == 0){
        require_once($_SERVER['DOCUMENT_ROOT'].'/clases/Varios.Class.php');
        $v_contraseña       = Varios::generar_codigo(12);
        $v_cod_verificacion = Varios::generar_codigo(10);
        $auditoria_accion   = "Insert";
    	$auditoria_tabla    = "funcionario, usuario";
    	$auditoria_sql      = "EXEC agenda.SP_funcionario_ingresa '".$txt_rut."','".$txt_apellidoPaterno."','".$txt_apellidoMaterno."','".$txt_nombre."','".
                                                                            $txt_email."','".$txt_telefonoCelular."','".$txt_direccion."',".
                                                                            $cmb_rol.",'".sha1($v_contraseña)."','".$v_cod_verificacion."'";
    
        $resultado  = $funconario_obj->ingresarFuncionario($txt_rut, $txt_apellidoPaterno, $txt_apellidoMaterno, $txt_nombre,
                                                            $txt_email, $txt_telefonoCelular, $txt_direccion, $cmb_rol,
                                                            sha1($v_contraseña), $v_cod_verificacion );
    } else {
        $cmb_estado  = filter_var($_POST["cmb_estado"], FILTER_SANITIZE_NUMBER_INT);
        $auditoria_accion   = "Update";
    	$auditoria_tabla    = "funcionario, usuario";
    	$auditoria_sql      = "EXEC agenda.SP_funcionario_modifica ".$txt_modificar.",'".$txt_email."','".$txt_telefonoCelular."','".$txt_direccion."',".
                                                                            $cmb_rol.",".$cmb_estado;
        $resultado   = $funconario_obj->modificarFuncionario($txt_modificar, $txt_email, $txt_telefonoCelular, $txt_direccion, $cmb_rol, $cmb_estado);
    }
    $mensaje = $resultado[1];
    $resultado = $resultado[0];
    if($resultado > 0) {
        $correcto 	= true;
    }
    Varios::auditInsert( $auditoria_accion, $auditoria_tabla, $auditoria_sql, $resultado, $mensaje );
    $funconario_obj->Close();
}

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