<?php
$_req = "UPDATE VEHICULOS ";
$_set = "SET PAPELERA = 0";
switch ($ipo_update) {
    case 1://EXT
        $_where = "WHERE ID_EXT = '" . $_POST["car_id_ext"] . "' AND CODE_EXT = '" . $_POST["app_cod_ext"] . "'";
        break;
    
    case 2://BASTIDOR
        $_where = "WHERE BASTIDOR = '" . $_POST["car_bastidor"] . "'";
        break;
}
foreach ($_POST as $key => $value) {
    $value = $bd_conn->real_escape_string($value);
    switch ($key) {
        case 'car_tipo':
            $_set .= ", TIPO = '" . $value . "'"; 
            break;
        case 'car_marca':
            $_set .= ", MARCA = " . $value; 
            break;
        case 'car_modelo':
            $_set .= ", MODELO = " . $value; 
            break;
        case 'car_version':
            $_set .= ", VERSION = '" . $value . "'"; 
            break;
        case 'car_gama':
            $_set .= ", GAMA = '" . $value . "'"; 
            break;
        case 'car_color':
            $_set .= ", COLOR = '" . $value . "'"; 
            break;
        case 'car_color_int':
            $_set .= ", COLORINT_LIT = '" . $value . "'"; 
            break;
        case 'car_notas':
            $_set .= ", NOTAS = '" . $value . "'"; 
            break;
        case 'car_km':
            $_set .= ", KM = '" . $value . "'"; 
            break;
        case 'car_year':
            $_set .= ", ANO_FAB = '" . $value . "'";  
            break;
        case 'car_caja':
            $_set .= ", CAJACAMBIOS = " . $value; 
            break;
        case 'car_combustible':
            $_set .= ", COMBUSTIBLE = " . $value; 
            break;
        case 'car_precio_venta':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TOTALSINDTO = " . $value; 
            }           
            break;
        case 'car_venta_total':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TOTAL = " . $value; 
            }
            break;
        case 'car_venta_base':
            if ( !empty($value) ) {
                $_set .= ", VENTA_BASE = " . $value; 
            }
            break;
        case 'car_venta_opciones':
            if ( !empty($value) ) {
                $_set .= ", VENTA_OPCIONES = " . $value; 
            }
            break;
        case 'car_venta_pff':
            if ( !empty($value) ) {
                $_set .= ", VENTA_PFF = " . $value; 
            }
            break;
        case 'car_venta_transporte':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TRANSPORTE = " . $value; 
            }
            break;
        case 'car_venta_tipoiva':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TIPOIVA = '" . $value . "'"; 
            }
            break;
        case 'car_venta_tipoiedmt':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TIPOIEDMT = '" . $value . "'"; 
            }
            break;
        case 'car_precio_compra':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TOTAL = " . $value;
            } 
            break;
        case 'car_compra_pff':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_PFF = " . $value; 
            }
            break;
        case 'car_compra_opciones':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_OPCIONES = " . $value; 
            }
            break;
        case 'car_compra_transporte':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TRANSPORTE = " . $value; 
            }
            break;
        case 'car_compra_base':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_BASE = '" . $value . "'"; 
            }
            break;
        case 'car_compra_tipoiva':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TIPOIVA = '" . $value . "'"; 
            }
            break;
        case 'car_reserva':
            $_set .= ", RESERVA = '" . $value . "'"; 
            break;
        case 'car_publicar':
            $publicar = $value;
            break;
        case 'car_stock':
            $codigo_stock = consultarStockVehiculo($bd_conn, $value);
            $stock_car = ($codigo_stock != '') ? $codigo_stock : 0 ; 
            $_set .= ", STOCK = '" . $stock_car . "'"; 
            break;
        case 'car_estado':
            $codigo_estado = consultarEstadoVehiculo($bd_conn, $value);
            $estado_car = ($codigo_estado != '') ? $codigo_estado : 'PRS' ; 
            $_set .= ", ESTADO = '" . $estado_car . "'"; 
            break;
    }
}
/*
if (isset($publicar)) {
    if ($publicar !== '') {
        $acciones_publicar = 1;
    }else {
        $acciones_publicar = 0;
    }
}else {
    $acciones_publicar = 0;
}
*/
$codigo_car = selectCodigoCar($bd_conn, $_where);
if (isset($car_reserva)) {
    if ($car_reserva !== '') {
        $fecha = date ( 'Y-m-d H:i:s' , strtotime ( '+1 minute' , strtotime (date("Y-m-d H:i:s"))));
        createHstorial($bd_conn,$codigo_car, $_SERVER["HTTP_CLIENT_ID"], $fecha, ACCION_RESERVA, TRAZA_ORDENADOR, TRAZA_WEB, $car_reserva);
    }
}
$status = queryUpdate($bd_conn, $_req, $_set, $_where);
//PUBLICACION============================================
if (isset($publicar)) {
    if ($publicar !== '') {
        if ($publicar == 'AUC') {
            //PUBLICO EL COCHE PUBLICACIONES--------------
            $cod_portal = consultarAliasPortal($bd_conn, $publicar);
            queryInsertPublicarPortal($bd_conn, $codigo_car, $cod_portal);
            $acciones_publicar = 1;
        }
    }else {
        //DESPUBLICO EL COCHE----------------------------
        UpdatePublicaciiones($bd_conn, $codigo_car);
    }
}
if ($status === 1) {
    $data[] = array ( 
        "status" => "OK",
        "message" => "success : update car success",
        "cod_vehiculo" => $codigo_car
    );
}elseif ($status === 0) {
    $data[] = array ( 
        "status" => "NOT OK",
        "message" => "error : no changes detected",
        "cod_vehiculo" => $codigo_car
    );
}else{
    $data[] = array ( 
        "status" => "NOT OK",
        "message" => "error : update car error"
    );
}
//FUNCIONES================================================================
function UpdatePublicaciiones($bd, $codigo_car)
{
	$sql =  " UPDATE VEHICULOS_PUBLICACIONES 
              SET FIN = now(), ACTIVO = 0
              WHERE VEHICULO = ?";
    $base = $bd->prepare($sql);
    $codigo_car = mysqli_real_escape_string($bd, $codigo_car);
    $base->bind_param('i', $codigo_car);
    $base->execute();
}
function queryInsertPublicarPortal($bd, $codigo_car, $cod_portal) {
	mysqli_query($bd, "INSERT INTO VEHICULOS_PUBLICACIONES 
						( VEHICULO, PORTAL, INICIO, ACTIVO ) 
						VALUES 
						( $codigo_car, $cod_portal, now(), 1 )") ;
}
function consultarAliasPortal($bd, $publicar){
    $sql =  "   SELECT P.CODIGO
                FROM VEHICULOS_PORTALES P
                WHERE P.ALIAS = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $publicar = mysqli_real_escape_string($bd, $publicar);
    $base->bind_param('s', $publicar);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function consultarEstadoVehiculo($bd, $alias_estado){
    $sql =  "   SELECT E.CODIGO
                FROM VEHICULOS_ESTADOS E
                WHERE E.ALIAS = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $alias_estado = mysqli_real_escape_string($bd, $alias_estado);
    $base->bind_param('s', $alias_estado);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function consultarStockVehiculo($bd, $alias_stock){
    $sql =  "   SELECT S.CODIGO
                FROM VEHICULOS_STOCKS S
                WHERE S.ALIAS = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $alias_stock = mysqli_real_escape_string($bd, $alias_stock);
    $base->bind_param('s', $alias_stock);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function queryUpdate($bd, $_req, $_set, $_where)
{
    $query = $_req . $_set . $_where;
    mysqli_query($bd, $query);
    return mysqli_affected_rows($bd);
}
function createHstorial($bd,$vehiculo, $usuario, $fecha, $accion, $ordenador, $web, $fin_reserva)
{
	$sql =  " INSERT INTO VEHICULOS_HISTORIAL (VEHICULO, USUARIO, FECHA, ACCION, ORDENADOR, WEB, FIN) 
              VALUES ( ?, ?, ?, ?, ?, ?, ? )";
    $base = $bd->prepare($sql);
    $vehiculo = mysqli_real_escape_string($bd, $vehiculo);
    $usuario = mysqli_real_escape_string($bd, $usuario);
    $fecha = mysqli_real_escape_string($bd, $fecha);
    $fin_reserva = mysqli_real_escape_string($bd, $fin_reserva);
    $base->bind_param('issisis', $vehiculo, $usuario, $fecha, $accion, $ordenador, $web, $fin_reserva);
    $base->execute();
}
function selectCodigoCar($bd, $_where)
{
    $sql =  "   SELECT CODIGO
                FROM VEHICULOS " . $_where;
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    $result = $row["CODIGO"];
    return $result;
}
?>