<?php
//BUSCO EL CODIGO DEL CAR======================================
$_select = "SELECT MAX(V.CODIGO + 1) RESULT ";
$_from = " FROM VEHICULOS V ";
$_where = "";
$codigo_car = querySelect($bd_conn, $_select, $_from, $_where);
//BUSCO EL CONTADOR============================================
$_select = "SELECT C.PREFIJO, C.CONTADORSIG, C.SUFIJO, C.MASCARA ";
$_from = " FROM CONTADORES C ";
$_where = " WHERE C.CODIGO = 'IDCAR0000000000000' LIMIT 1";
$datos_contador = querySelectMultiple($bd_conn, $_select, $_from, $_where);
$masc_cont = str_pad($datos_contador["CONTADORSIG"], strlen($datos_contador["MASCARA"]), '0', STR_PAD_LEFT);
$id_car = $datos_contador["PREFIJO"] . $masc_cont . $datos_contador["SUFIJO"];
$prox_cont = $datos_contador["CONTADORSIG"] + 1;
UpdateContador($bd_conn, $prox_cont);
//==============================================================
$_req = "INSERT INTO VEHICULOS ";
$_set = " ( ALTA";
$_values = " VALUES ( now() ";
//CODIGO VEHICULO
$_set .= ", CODIGO";
$_values .= ", " . $codigo_car;
//IDCAR
$_set .= ", IDCAR";
$_values .= ", '" . $id_car . "'";
//USUARIO
$_set .= ", USUARIO";
$_values .= ", '" . $_SERVER["HTTP_CLIENT_ID"] . "'";
//USUARIO
$_set .= ", ACTIVO";
$_values .= ", 1";
//ESTADO
//$_set .= ", ESTADO";
//$_values .= ", 'PRS'";
foreach ($_POST as $key => $value) {
    $value = $bd_conn->real_escape_string($value);
    switch ($key) {
        case 'car_id_ext':
            $_set .= ", ID_EXT"; 
            $_values .= ", '" . $value . "'"; 
            break;
        case 'app_cod_ext':
            $_set .= ", CODE_EXT"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_bastidor':
            $_set .= ", BASTIDOR"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_matricula':
            $_set .= ", MATRICULA"; 
            $_values .= ", '" . $value . "'";
            $matricula = $value;
            break;
        case 'car_tipo':
            $_set .= ", TIPO"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_marca':
            $_set .= ", MARCA"; 
            $_values .= ", " . $value;
            $desc_marca = descripcionMarca($bd_conn, $value);
            break;
        case 'car_modelo':
            $_set .= ", MODELO"; 
            $_values .= ", " . $value;
            $desc_modelo = descripcionModelo($bd_conn, $value);
            break;
        case 'car_version':
            $_set .= ", VERSION"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_gama':
            $_set .= ", GAMA"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_color':
            $_set .= ", COLOR"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_color_int':
            $_set .= ", COLORINT_LIT"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_notas':
            $_set .= ", NOTAS"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_km':
            $_set .= ", KM "; 
            $_values .= ", " . $value;
            break;
        case 'car_year':
            $_set .= ", ANO_FAB"; 
            $_values .= ", " . $value;
            break;
        case 'car_caja':
            $_set .= ", CAJACAMBIOS"; 
            $_values .= ", " . $value;
            break;
        case 'car_combustible':
            $_set .= ", COMBUSTIBLE"; 
            $_values .= ", " . $value;
            break;
        case 'car_precio_venta':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TOTALSINDTO"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_total':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TOTAL"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_base':
            if ( !empty($value) ) {
                $_set .= ", VENTA_BASE"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_opciones':
            if ( !empty($value) ) {
                $_set .= ", VENTA_OPCIONES"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_pff':
            if ( !empty($value) ) {
                $_set .= ", VENTA_PFF"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_transporte':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TRANSPORTE"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_tipoiva':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TIPOIVA"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_venta_tipoiedmt':
            if ( !empty($value) ) {
                $_set .= ", VENTA_TIPOIEDMT"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_precio_compra':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TOTAL";
                $_values .= ", " . $value;
            }
            break;
        case 'car_compra_pff':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_PFF"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_compra_opciones':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_OPCIONES"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_compra_transporte':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TRANSPORTE"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_compra_base':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_BASE"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_compra_tipoiva':
            if ( !empty($value) ) {
                $_set .= ", COMPRA_TIPOIVA"; 
                $_values .= ", " . $value;
            }
            break;
        case 'car_reserva':
            $_set .= ", RESERVA"; 
            $_values .= ", '" . $value . "'";
            break;
        case 'car_publicar':
            $publicar = $value;
            break;
        case 'car_stock':
            $_set .= ", STOCK";
            $codigo_stock = consultarStockVehiculo($bd_conn, $value);
            $stock_car = ($codigo_stock != '') ? $codigo_stock : 0 ; 
            $_values .= ", " . $stock_car;
            break;
        case 'car_estado':
            $_set .= ", ESTADO";
            $codigo_estado = consultarEstadoVehiculo($bd_conn, $value);
            $estado_car = ($codigo_estado != '') ? $codigo_estado : 'PRS' ; 
            $_values .= ", '" . $estado_car . "'";
            break;            
    }
}
if (!isset($estado_car)) {
    $_set .= ", ESTADO";
    $estado_car = 'PRS'; 
    $_values .= ", '" . $estado_car . "'";
}
//MOSTRAR================================================
$mostrar = $id_car;
if (isset($desc_marca)) {
    $mostrar .= " - " . $desc_marca;
}
if (isset($desc_modelo)) {
    $mostrar .= " - " . $desc_modelo;
}
if (isset($matricula)) {
    $mostrar .= " - " . $matricula;
}
//=========================================================
$_set .= ", MOSTRAR";
$_values .= ", '" . $mostrar . "'";
//=========================================================
$_set .= " )";
$_values .= " )";
$status = queryInsert($bd_conn, $_req, $_set, $_values);
//PUBLICACION============================================
if (isset($publicar)) {
    if ($publicar !== '') {
        $cod_portal = consultarAliasPortal($bd_conn, $publicar);
        queryInsertPublicarPortal($bd_conn, $codigo_car, $cod_portal);
        $acciones_publicar = 1;
    }
}
if ($status === 1) {
    $data[] = array ( 
        "status" => "OK",
        "message" => "success : new car created",
        "cod_vehiculo" => $codigo_car
    );
}else{
    $data[] = array ( 
        "status" => "NOT OK",
        "message" => "error : new car not created"
    );
}
//FUNCIONES======================================================
function queryInsertLink($bd, $codigo_link, $origen_link, $codigo_car, $tipo_link, $orden_link, $link) {
	mysqli_query($bd, "INSERT INTO VEHICULOS_MULTIMEDIA_LINKS 
						( CODIGO, ORDEN, VEHICULO, TIPO, LINK, FECHA, ORIGEN ) 
						VALUES 
						( '$codigo_link', $orden_link, $codigo_car, $tipo_link, '$link', now(), '$origen_link' )") ;
}
function get_id_unico() {
    return date( "YmdHis" ) . sprintf( "%04d", rand( 0, 9999 ) );
}
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 UpdateContador($bd,$prox_cont)
{
	$sql =  " UPDATE CONTADORES 
              SET CONTADORSIG = ?
              WHERE CODIGO = 'IDCAR0000000000000'";
    $base = $bd->prepare($sql);
    $prox_cont = mysqli_real_escape_string($bd, $prox_cont);
    $base->bind_param('i', $prox_cont);
    $base->execute();
}
function queryInsert($bd, $_req, $_set, $_values)
{
    $query = $_req . $_set . $_values;
    mysqli_query($bd, $query);
    return mysqli_affected_rows($bd);
}
function querySelect($bd, $_select, $_from, $_where)
{
    $sql =  $_select . $_from . $_where;
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    $result = $row['RESULT'];
    return $result;
}
function querySelectMultiple($bd, $_select, $_from, $_where)
{
    $sql =  $_select . $_from . $_where;
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    return $row;
}
function descripcionMarca($bd, $car_marca){
    $sql =  "   SELECT M.DESCRIPCION
                FROM VEHICULOS_MARCAS M
                WHERE M.CODIGO = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $base->bind_param('i', $car_marca);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["DESCRIPCION"];
}
function descripcionModelo($bd, $car_modelo)
{
    $sql =  "   SELECT M.DESCRIPCION
                FROM VEHICULOS_MODELOS M
                WHERE M.CODIGO = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $base->bind_param('i', $car_modelo);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["DESCRIPCION"];
}
?>