<?php 
session_start(); 
require_once('../conexion.php');
require_once('../include/sesiones.php');
$can=mysqli_query($con,"SELECT MAX(art_id)as art_id FROM articulos") or die(mysqli_error($con)); 
$dato=mysqli_fetch_array($can); 
$art_id=$dato['art_id']+1;
                                               
$art_referencia=limpiar($_POST['art_referencia']);
$art_nombre=mb_strtoupper(limpiar($_POST['art_nombre']));
$art_familia=limpiar($_POST['art_familia']);
$art_ubicacion=limpiar($_POST['art_ubicacion']);
$art_costo=limpiar($_POST['art_costo']);
$art_pvp=limpiar($_POST['art_pvp']);

$iva_id=limpiar($_POST['art_iva']);
$datos=mysqli_query($con,"SELECT * FROM iva where iva_id='$iva_id' ");
$fila=mysqli_fetch_array($datos);
$art_iva=$fila['iva_porcentaje'];
$tipo_impuesto=$fila['tipo_impuesto'];


$pro=mysqli_query($con,"SELECT * FROM proveedor where pro_nombre='PROVEEDOR INICIAL' and empresa='$empresa' ") ;
$pro=mysqli_fetch_array($pro);
$pro_id=$pro['pro_id'];

$can1=mysqli_query($con,"SELECT * FROM articulos where art_referencia='$art_referencia' AND empresa='$empresa'") or die(mysqli_error($con)); 
$result = mysqli_num_rows($can1);
if($result == 0)
{
    $sql1=mysqli_query($con,"INSERT INTO articulos (art_id,art_referencia,art_nombre,art_precio_costo,art_pvp,art_utilidad,art_iva,art_tipo_imp,art_estado,art_tipo,familias_fam_id,proveedor_pro_id,marca_mar_id,ubicacion_ubi_id,empresa) 
    VALUES ('$art_id','$art_referencia','$art_nombre','$art_costo','$art_pvp','00','$art_iva','$tipo_impuesto','Activo','producto','$art_familia','$pro_id','1','$art_ubicacion','$empresa')") or die(mysqli_error($con));

    if(!empty($_POST['opcion1']))
    {
        $number1 = count($_POST["opcion1"]); 
        if($number1 > 0)  
        {  
            for($i=0; $i<$number1; $i++)  
            {  
                if(trim($_POST["opcion1"][$i] != ''))
                $dato1=mb_strtoupper($_POST["opcion1"][$i]);
                $dato2=mb_strtoupper($_POST["opcion2"][$i]);
                $dato3=mb_strtoupper($_POST["opcion3"][$i]);
                if ($dato2==null) {
                    $dato21=0;
                  }  
                  else
                  {
                    $dato21=mb_strtoupper($_POST["opcion2"][$i]);
                  }
                  if ($dato3==null) {
                    $dato31=0;
                  }  
                  else
                  {
                    $dato31=mb_strtoupper($_POST["opcion3"][$i]);
                  }
                
                {  
                    $sql ="INSERT INTO sabores_productos (sab_nombre,sab_costo,sab_precio,sab_estado,articulo_art_id,empresa) VALUES('".$dato1."','".$dato21."','".$dato31."','Activo','$art_id','$empresa')";  
                    mysqli_query($con, $sql);

                }  
            } 
        }                      
    }

    $nameimagen = $_FILES['imagen']['name'];
    $tmpimagen = $_FILES['imagen']['tmp_name'];
    $extimagen = pathinfo($nameimagen);
    $ext = array("","jpg","jpeg","png","jfif","gif","tif","tiff","webp","WEBP","JPG","PNG","JPEG","JFIF","GIF","TIF","TIFF");
    $urlnueva = "../img/articulos/".$art_id.".jpg";

    // Tamaño máximo en bytes (150KB)
    $max_size = 150 * 1024; // 150 KB en bytes

    if (is_uploaded_file($tmpimagen)) {
        // Verifica si la extensión del archivo es válida
        if (array_search($extimagen['extension'], $ext)) {
            
            // Verificar el tamaño del archivo
            if ($_FILES['imagen']['size'] <= $max_size) {
                // Si el archivo es menor o igual a 150KB, se guarda tal cual
                move_uploaded_file($tmpimagen, $urlnueva);
            } 
                else 
            {
                // Si el archivo excede los 150KB, redimensionamos la imagen
                $image_info = getimagesize($tmpimagen);
                $width = $image_info[0];
                $height = $image_info[1];

                // Crear una nueva imagen basada en el tipo
               if (in_array($extimagen['extension'], $ext)) {
                $image = imagecreatefromjpeg($tmpimagen);
                } else {
                echo '<div class="alert alert-danger alert-dismissable">
                    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                    <strong>La imagen no se guardó! </strong> Formato de imagen no soportado.
                  </div>';
                exit;
                }
                // Reducir el tamaño de la imagen
                $new_width = 800; // Definir un nuevo tamaño más pequeño
                $new_height = ($height / $width) * $new_width;
                $new_image = imagecreatetruecolor($new_width, $new_height);

                // Redimensionar la imagen
                imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

                // Guardar la nueva imagen
                if (in_array($extimagen['extension'], $ext)) {
                    imagejpeg($new_image, $urlnueva, 75); // 75 es la calidad, puedes ajustarlo según sea necesario
                }

                // Liberar la memoria
                imagedestroy($image);
                imagedestroy($new_image);
            }
        } 
        else 
        {
            echo '<div class="alert alert-danger alert-dismissable">
                    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                    <strong>La imagen no se guardó! </strong> Solo se permiten imágenes con formato válido.
                </div>';
        }
    }





    echo '<div class="alert alert-success alert-dismissable">
    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
    <strong>Producto</strong> Registrado correctamente.
    </div>'; ?>
    <script> document.getElementById("form_producto").reset();</script>
   
<?php   
}
else
    {
        echo '<div class="alert alert-danger alert-dismissable">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <strong>Referencia no disponible.</strong> 
        </div>';
    }
?>