<?php
// Incluir el archivo que contiene la función de redimensionar imagen
include 'funcionredimension.php';

// Datos de conexión a la base de datos
$servername = "localhost";
$username = "ndconsulta";
$password = "Nitro2021";
$dbname = "db_tiendanitro";

// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);

// Verificar conexión
if ($conn->connect_error) {
    die("Error de conexión: " . $conn->connect_error);
}

// Consulta SQL para obtener los datos de las imágenes
$sql = "SELECT tn_productos.id AS idProducto, inv_extreme_simracing_images.src, tn_productos_variantes.id AS idVariacion, inv_extreme_simracing_images.position
        FROM (tn_productos_variantes 
        LEFT JOIN extreme_simracing_products ON tn_productos_variantes.referenciaProveedor = extreme_simracing_products.idVariacion) 
        RIGHT JOIN (tn_imagenes_principal 
        RIGHT JOIN (tn_productos 
        INNER JOIN inv_extreme_simracing_images ON tn_productos.referenciaProveedor = inv_extreme_simracing_images.product_id) 
        ON tn_imagenes_principal.idProducto = tn_productos.id) 
        ON (tn_productos_variantes.idProducto = tn_productos.id) AND (extreme_simracing_products.image_id = inv_extreme_simracing_images.id)
        WHERE (((tn_imagenes_principal.linkImagen) IS NULL))  
        ORDER BY `idVariacion` DESC";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $url = $row["src"];
        $idProducto = $row["idProducto"];
        $idVariacion = $row["idVariacion"];
        $position = $row["position"];

        // Redimensionar la imagen
        $imagenRedimensionada = redimensionarImagen($url, 1200, 1200);
        if ($imagenRedimensionada === false) {
            echo "Error al redimensionar la imagen.";
            continue;
        }

        // Ruta donde se guardará la imagen
        $rutaGuardado = "E:/www/sistema.compranet.com.co/public/images/extremesimracing/";

        // Obtener el nombre de la imagen desde la URL
        $nombreImagen = basename(parse_url($url, PHP_URL_PATH));

        // Guardar la imagen redimensionada en el servidor
        $imagenGuardada = file_put_contents($rutaGuardado . $nombreImagen, $imagenRedimensionada);

        // Si la imagen se guardó exitosamente
        if ($imagenGuardada !== false) {
            // Link de la imagen
            $linkImagen = "J:/images/extremesimracing/" . $nombreImagen;

            // Insertar en la tabla tb_imagenes_principal
            $esPrincipal = ($position == 1) ? 1 : 0;
            $sql_insert_principal = "INSERT INTO tn_imagenes_principal (idProducto, linkImagen, idEstado, esPrincipal) VALUES ('$idProducto', '$linkImagen', 1, $esPrincipal)";
            $conn->query($sql_insert_principal);

            // Insertar en la tabla tb_imagenes_variantes si idVariacion no es NULL
            if (!is_null($idVariacion)) {
                $sql_insert_variante = "INSERT INTO tn_imagenes_variantes (idVariante, idEstado, linkImagen, esPrincipal, pos) VALUES ('$idVariacion', 1, '$linkImagen', 1, 1)";
                $conn->query($sql_insert_variante);
            }
        } else {
            echo "Error al guardar la imagen.";
        }
    }
} else {
    echo "No se encontraron imágenes.";
}

// Ejecutar la consulta final para insertar registros faltantes en tn_imagenes_variantes
$sql_final = "INSERT INTO tn_imagenes_variantes ( idVariante, idEstado, linkImagen, esPrincipal, pos )
              SELECT tn_productos_variantes.id AS idVariante, 1 AS idEstado, tn_imagenes_principal.linkImagen, 1 AS esPrincipal, 1 AS pos
              FROM (tn_imagenes_principal 
              INNER JOIN tn_productos ON tn_imagenes_principal.idProducto = tn_productos.id) 
              INNER JOIN (tn_productos_variantes 
              LEFT JOIN tn_imagenes_variantes ON tn_productos_variantes.id = tn_imagenes_variantes.idVariante) 
              ON tn_productos.id = tn_productos_variantes.idProducto
              WHERE (((tn_imagenes_variantes.id) IS NULL) AND ((tn_imagenes_principal.esPrincipal)=1) AND ((tn_productos.idProveedor)=2))";
$conn->query($sql_final);

// Cerrar conexión
$conn->close();
?>
