<?php


function get_id_unico(){
    return date( "YmdHis" ) . sprintf( "%04d", rand( 0, 9999 ) );
}




function mesHastaHoy($mes)
{
    $date1 = strtotime($mes);
    $date2 = time();
    $diff = $date2 - $date1;
    $ddff = round($diff / (60 * 60 * 24 * 30));
    return $ddff;
}




function hastaHoy($hastaHoy)
{
    $alta = strtotime($hastaHoy);
    $hoy = time();
    $dateDiff = $hoy - $alta;
    $parametro = round($dateDiff / (60 * 60 * 24));
    return $parametro;
}




function parametrosDANGER($con)
{
    $sqlDANGER = "SELECT VALOR FROM VEHICULOS_PARAMETROS WHERE PARAMETRO = 'VO_DANGER'";
    $resDANGER = $con->query($sqlDANGER);
    $filaDANGER = $resDANGER->fetch_array();
    return $filaDANGER['VALOR'];
}





function parametrosWARNING($con)
{
    $sqlWARNING = "SELECT VALOR FROM VEHICULOS_PARAMETROS WHERE PARAMETRO = 'VO_WARNING'";
    $resWARNING = $con->query($sqlWARNING);
    $filaWARNING = $resWARNING->fetch_array();
    return $filaWARNING['VALOR'];
}





function controlParametros($hastaHoy,$con)
{
    hastahoy($hastaHoy);
    if(hastaHoy($hastaHoy) > parametrosDANGER($con))
    {echo 'text-danger';}
    elseif(hastaHoy($hastaHoy) > parametrosWARNING($con))
    {echo 'text-warning';}
    else{echo 'text-muted';}
}





function esquema_estructura($con,$alias,$esquema)
{
    $sqlEsqEstructura = "SELECT CODIGO,ORDEN,TIPO,LISTA FROM ESQUEMAS_ESTRUCTURA
    WHERE ALIAS = '$alias' AND ESQUEMA = $esquema";
    $resEsqEstructura = $con->query($sqlEsqEstructura);
    $filaEE = $resEsqEstructura->fetch_array();
    return array($filaEE['CODIGO'], $filaEE['ORDEN'] - 1, $filaEE['TIPO'], $filaEE['LISTA']);
}





function gastos_internos($con,$codigo_gasto)
{
    $sqlGastos = "SELECT * FROM VEHICULOS_LITERALES WHERE TIPO = 'VEH_GAS' AND CODIGO = $codigo_gasto";
    $resGastos = $con->query($sqlGastos);
    $filaGastos = $resGastos->fetch_array();
    return $filaGastos['EXTRA2'];
}






function msgInfo($ctrl,$msg1,$msg2)
{
    if($ctrl == 1)
    {
        echo '
            <div class="col-12 mt-n3 mb-3">
                <div class="alert alert-success alert-dismissible fade show" role="alert">
                    <i class="fas fa-check-circle"></i> ' . $msg1 . ' - ' . $msg2 . '
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                    </button>
                </div>
            </div>'; 
    }
    elseif($ctrl == 99)
    {
        echo '
            <div class="col-12 mt-n3 mb-3">
                <div class="alert alert-danger alert-dismissible fade show" role="alert">
                    <i class="fas fa-exclamation-circle"></i> ' . $msg1 . ' - ' . $msg2 . '
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                    </button>
                </div>
            </div>';
    }
}






function descuento($precio,$descuento)
{
    $total = $precio - ($precio * ($descuento/100));
    return $total; 
}







function permisos($con,$accion,$contacto)
{
    $sqlA = "SELECT GRUPO FROM USUARIOS WHERE CONTACTO = ?";
    $stmt = $con->prepare($sqlA);
    $stmt->bind_param('i',$contacto);
    $stmt->execute();
    $resA = $stmt->get_result();
    $filaA = $resA->fetch_array();
    $grupo = $filaA['GRUPO'];
    $sql = "SELECT * FROM VEHICULOS_PERMISOS WHERE ACCION = ? AND USUARIO = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('is',$accion,$contacto);
    $stmt->execute();
    $res = $stmt->get_result();
    if($res->num_rows)
    {
        return 1;
    }
    else
    {
        $sql = "SELECT * FROM VEHICULOS_PERMISOS WHERE ACCION = ? AND USUARIO = ?";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('is',$accion,$grupo);
        $stmt->execute();
        $res = $stmt->get_result();
        return $res->num_rows;
    }
}





//Mostrar
function mostrar_vehiculo($con,$codigo)
{
    $sql = "SELECT V.MATRICULA, V.IDCAR, M.DESCRIPCION AS DESC_MARCA, MO.DESCRIPCION AS DESC_MODELO
    FROM VEHICULOS V
    INNER JOIN VEHICULOS_MARCAS M ON V.MARCA = M.CODIGO
    INNER JOIN VEHICULOS_MODELOS MO ON V.MODELO = MO.CODIGO
    WHERE V.CODIGO = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('i',$codigo);
    $stmt->execute();
    $res = $stmt->get_result();
    $fila = $res->fetch_array();
    $mostrar = $fila['IDCAR'] . " - " .strtoupper(utf8_encode($fila['DESC_MARCA'])) . " - " . strtoupper(utf8_encode($fila['DESC_MODELO'])) . " - " . $fila['MATRICULA'];
    return $mostrar;
}





//construct mostrar_vehiculo
function setMostrarVehiculo($con,$idcar,$marca,$modelo,$matricula)
{
    $sql = "SELECT M.DESCRIPCION AS M_DESC, MO.DESCRIPCION AS MO_DESC
    FROM VEHICULOS_MARCAS M
    INNER JOIN VEHICULOS_MODELOS MO ON M.CODIGO = MO.MARCA
    WHERE M.CODIGO = ? AND MO.CODIGO = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('ii',$marca,$modelo);
    $stmt->execute();
    $res = $stmt->get_result();
    $fila = $res->fetch_array();
    $mostrar = $idcar . " - " .strtoupper(utf8_encode($fila['M_DESC'])) . " - " . strtoupper(utf8_encode($fila['MO_DESC'])) . " - " . $matricula;
    return $mostrar;
}





//Sselect max codigo vehiculos/contacto
function max_codigo($con,$tabla)
{
    $sqlCOD = "SELECT CODIGO FROM $tabla";
    $resCOD = $con->query($sqlCOD);
    if($resCOD->num_rows)
    {
        $sql = "SELECT MAX(CODIGO) AS MAX_CODIGO FROM $tabla";
        $res = $con->query($sql);
        if($res->num_rows)
        {
            $fila = $res->fetch_array();
            $next = $fila['MAX_CODIGO'] + 1;
            return $next;
        }
    }
    else 
    {
        if($tabla == 'VEHICULOS')
        {
            return 5000001;
        }
        elseif($tabla == 'CONTACTOS')
        {
            return 1000001;
        }
    }
}




function getMaxCod($con,$campo,$tabla)
{
    $sql = "SELECT MAX($campo) AS MAXIMO FROM $tabla";
    $res = $con->query($sql);
    $fila = $res->fetch_array();
    $max = $fila['MAXIMO'] == 0 ? 1 : $fila['MAXIMO'] + 1;
    return $max;
}





//delete all files ex=>ofertas/pdf/
function eat_all_files($folder)
{
    $files = glob("$folder*"); // get all file names
    foreach($files as $file){ // iterate files
    if(is_file($file))
        unlink($file); // delete file
    }
}




//Tooltip
function setTooltip($descripcion)
{
    return '<i class="fas fa-question-circle text-info" data-toggle="tooltip" data-placement="top" title="' . $descripcion . '"></i>';
}





//Vehiculo literales distinto
function distintoOpcion($con, $lg, $codigo, $tipo, $class = NULL)
{
    $sql = "SELECT VEHICULOS_LITERALES.*, DESCRIPCION_$lg AS DESCRIPCION_LG
    FROM VEHICULOS_LITERALES
    WHERE CODIGO != " . $codigo . " AND TIPO = '$tipo'";
    $res = $con->query($sql);
    while($fila = $res->fetch_array())
    {
        echo "<option class='$class' value='" . $fila['CODIGO'] . "'>" . utf8_encode($fila['DESCRIPCION_LG']) . "</option>";
    }
}




//Options vehiculos literales
function literalesOption($con, $lg, $tipo, $select = NULL, $class = NULL)
{
    $sqlFOO = "SELECT VEHICULOS_LITERALES.*, DESCRIPCION_$lg AS DESCRIPCION_LG FROM VEHICULOS_LITERALES WHERE TIPO = '$tipo' ORDER BY CODIGO";
    $resFOO = $con->query($sqlFOO);
    while($filaFOO = $resFOO->fetch_array())
    {
        $selected = $filaFOO['CODIGO'] == $select ? 'selected' : '';
        $codigo = $filaFOO['CODIGO'] != 0 ? $filaFOO['CODIGO'] : NULL;
        echo '<option class="' . $class .'" value="' . $codigo . '" ' . $selected . '>'  . utf8_encode($filaFOO['DESCRIPCION_LG']) . '</option>';
    }
}








//RGPD
function rgpd($con,$codigo = NULL)
{
    $html = "";
    $numeral = 0;


    if(!empty($codigo))
    {
        $r1 = 1;
        $sql = "SELECT R.*, C.RGPD_1
        FROM RGPD_PERMISOS R
        LEFT JOIN CONTACTOS C ON C.RGPD_1 = R.CODIGO AND C.CODIGO = ?
        WHERE R.CODIGO = ?";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('ii',$codigo,$r1);
        $stmt->execute();
        $res = $stmt->get_result();
        $fila = $res->fetch_array();
        $checked = $fila['RGPD_1'] != NULL ? 'checked' : '';
        $rpgd = "rgpd" . $r1;
        $html .= '<div class="col-12 mb-2">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="custom-control-input" name="rgpd[]" id="' . $rpgd . '" value="' . $fila['CODIGO'] . '" ' . $checked . ' required>
                <label class="custom-control-label" for="' . $rpgd . '">' . utf8_encode($fila['TITULO']) .'</label>
            </div>
        </div>
        
        ';



        $r2 = 2;
        $sql = "SELECT R.*, C.RGPD_2
        FROM RGPD_PERMISOS R
        LEFT JOIN CONTACTOS C ON C.RGPD_2 = R.CODIGO AND C.CODIGO = ?
        WHERE R.CODIGO = ?";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('ii',$codigo,$r2);
        $stmt->execute();
        $res = $stmt->get_result();
        $fila = $res->fetch_array();
        $checked = $fila['RGPD_2'] != NULL ? 'checked' : '';
        $rpgd = "rgpd" . $r2;
        $html .= '<div class="col-12 mb-2">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="custom-control-input" name="rgpd[]" id="' . $rpgd . '" value="' . $fila['CODIGO'] . '" ' . $checked . '>
                <label class="custom-control-label" for="' . $rpgd . '">' . utf8_encode($fila['TITULO']) .'</label>
            </div>
        </div>';


        $r3 = 3;
        $sql = "SELECT R.*, C.RGPD_3
        FROM RGPD_PERMISOS R
        LEFT JOIN CONTACTOS C ON C.RGPD_3 = R.CODIGO AND C.CODIGO = ?
        WHERE R.CODIGO = ?";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('ii',$codigo,$r3);
        $stmt->execute();
        $res = $stmt->get_result();
        $fila = $res->fetch_array();
        $checked = $fila['RGPD_3'] != NULL ? 'checked' : '';
        $rpgd = "rgpd" . $r3;
        $html .= '<div class="col-12 mb-2">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="custom-control-input" name="rgpd[]" id="' . $rpgd . '" value="' . $fila['CODIGO'] . '" ' . $checked . '>
                <label class="custom-control-label" for="' . $rpgd . '">' . utf8_encode($fila['TITULO']) .'</label>
            </div>
        </div>';


        $r4 = 4;
        $sql = "SELECT R.*, C.RGPD_4
        FROM RGPD_PERMISOS R
        LEFT JOIN CONTACTOS C ON C.RGPD_4 = R.CODIGO AND C.CODIGO = ?
        WHERE R.CODIGO = ?";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('ii',$codigo,$r4);
        $stmt->execute();
        $res = $stmt->get_result();
        $fila = $res->fetch_array();
        $checked = $fila['RGPD_4'] != NULL ? 'checked' : '';
        $rpgd = "rgpd" . $r4;
        $html .= '<div class="col-12 mb-2">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="custom-control-input" name="rgpd[]" id="' . $rpgd . '" value="' . $fila['CODIGO'] . '" ' . $checked . '>
                <label class="custom-control-label" for="' . $rpgd . '">' . utf8_encode($fila['TITULO']) .'</label>
            </div>
        </div>';




    }
    else
    {
        $sql = "SELECT * FROM RGPD_PERMISOS";
        $res = $con->query($sql);
        while($fila = $res->fetch_array())
        {
            $numeral++;
            $rpgd = "rgpd" .$numeral;
            $required = $fila['CODIGO'] == 1 ? 'required' : '';
            $html .= '<div class="col-12 mb-2">
                <div class="custom-control custom-switch">
                    <input type="checkbox" class="custom-control-input" name="rgpd[]" id="' . $rpgd . '" value="' . $fila['CODIGO'] . '"' . $required . '>
                    <label class="custom-control-label" for="' . $rpgd . '">' . utf8_encode($fila['TITULO']) .'</label>
                </div>
            </div>';
        }
    }
    return $html;
}


function rgpdModal($con,$lg,$action = NULL)
{
    $html = '
    <button type="button" class="btn btn-light rounded" ' . $action . ' data-toggle="modal" data-target="#rgpdModal">
        <i class="fas fa-file-signature text-muted"></i>
    </button>';
    $html .= '
    <div class="modal fade" id="rgpdModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div id="bodyRGPD" class="modal-body">
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
            </div>
        </div>
    </div>';
    return $html;
}





//count rows pendientes
function countPendientes($con,$revision)
{
    $sql = "SELECT COUNT(T.CODIGO) AS PENDIENTES 
    FROM VEHICULOS_TASACIONES T 
    INNER JOIN VEHICULOS V ON T.VEHICULO = V.CODIGO
    INNER JOIN VEHICULOS_MARCAS M ON V.MARCA = M.CODIGO
    INNER JOIN VEHICULOS_MODELOS MO ON V.MODELO = MO.CODIGO
    WHERE T.ACTIVO = 0
    AND $revision";
    $res = $con->query($sql);
    $fila = $res->fetch_array();
    return $fila['PENDIENTES'];
}



function contactos_relaciones_grupos($con,$alias,$selected = NULL,$style = NULL)
{
    if(isset($_COOKIE['idioma']))
    {
        include('lg/LG_' . $_COOKIE['idioma'] . '.php');
    }
    else
    {
        include('lg/LG_SP.php');
    }


    $sql = "SELECT CODIGOCON FROM ETIQUETAS_GRUPOS WHERE ALIAS = '$alias'";
    $res = $con->query($sql);
    $fila = $res->fetch_array();
    $codigo = $fila['CODIGOCON'];



    $sql = "SELECT C.CODIGO, C.MOSTRAR
    FROM CONTACTOS C
    INNER JOIN CONTACTOS_RELACIONES R ON R.CONTACTO = C.CODIGO 
    WHERE R.GRUPO = $codigo";
    $res = $con->query($sql);
    if($res->num_rows)
    {
        $html = '<option class="' . $style .'" value="">' . $sin_asignar_2_lg . '</option>';
        while($fila = $res->fetch_array())
        {
            $select = $selected == $fila['CODIGO'] ? 'selected' : '';
            $html .= '<option class="' . $style .'" value="' . $fila['CODIGO'] . '" ' . $select . '>' . $fila['MOSTRAR'] . '</option>';
        }
        return $html;
    }
    else
    {
        return '<option value="">' . $sin_asignar_2_lg . '</option>';
    }
}



function get_estado($con, $codigo)
{
    $sql = "SELECT T.* FROM VEHICULOS_TASACIONES T
    WHERE T.CODIGO = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('s', $_SESSION['codigo_inactivo']);
    $stmt->execute();
    $res = $stmt->get_result();
    $fila = $res->fetch_array();
    $total = $fila['ESTADO_DOCUMENTAL'] + $fila['ESTADO_FOTO'];
    return $total;
}




function check_pdf_button($con, $alias, $tas)
{
    $papelera = 0;
    $sql = "SELECT E.* 
    FROM BIBLIOTECA_ELEMENTOS E
    INNER JOIN VEHICULOS_TASACIONES_DOCS D ON D.DOCUMENTO = E.CLAVE AND D.ALIAS = ?
    INNER JOIN VEHICULOS_TASACIONES T ON T.TASACION = D.TASACION
    WHERE T.TASACION = ?
    AND E.PAPELERA = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('ssi', $alias, $tas, $papelera);
    $stmt->execute();
    $res = $stmt->get_result();
    if($res->num_rows)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}











?>