<?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;

$datos=mysqli_query($con,"SELECT * FROM tarifas where tar_nombre='GENERAL' and empresa='$empresa' ") ;
$fila= mysqli_fetch_array($datos);
$tar_id=$fila['tar_id'];

$tar=mysqli_query($con,"SELECT count(tar_id) as tarifas FROM tarifas where  empresa='$empresa' ") ;
$tar= mysqli_fetch_array($tar);
$tarifas=$tar['tarifas'];

$art_referencias=mb_strtoupper(limpiar($_POST['art_referencia']));
$art_barras=mb_strtoupper(limpiar($_POST['art_barras']));
$art_referencia2=mb_strtoupper(limpiar($_POST['art_referencia2']));
$art_nombre_online=mb_strtoupper(limpiar($_POST['art_nombre_online']));
$art_nombre=mb_strtoupper(limpiar($_POST['art_nombre']));
$art_nombre_largo=mb_strtoupper(limpiar($_POST['art_nombre_largo']));
$art_proveedor=limpiar($_POST['art_proveedor']);
$art_familia=limpiar($_POST['art_familia']);
$art_marca=limpiar($_POST['art_marca']);
$art_ubicacion=limpiar($_POST['art_ubicacion']);
$art_garantia=limpiar($_POST['art_garantia']);
$art_costo=limpiar($_POST['art_costo']);

$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'];


$art_utilidad=limpiar($_POST['art_utilidad']);
$art_pvp=limpiar($_POST['art_pvp']);
if (isset($_POST['art_online'])){ $art_online=$_POST['art_online'];} else { $art_online='Inactivo'; }

$art_venta_min=limpiar($_POST['art_venta_min']);
$art_minimo=limpiar($_POST['art_minimo']);
$art_escaso=limpiar($_POST['art_escaso']);
$art_comision=limpiar($_POST['art_comision']);
$art_lote=limpiar($_POST['art_lote']);



$art_atributo_estado=limpiar($_POST['art_atributo_estado']);
$art_atributo1=mb_strtoupper(limpiar($_POST['art_atributo1']));
$art_atributo2=mb_strtoupper(limpiar($_POST['art_atributo2']));


$art_referencia=$_POST['art_referencia'];

$referencia_art=str_replace(' ', '',$art_referencia);

$query=mysqli_query($con,"SELECT * from articulos where art_referencia='".strtolower($referencia_art)."' and empresa='$empresa' ") or die(mysqli_error($con));
$results=mysqli_fetch_array($query);
if($results > 0) 
{
    echo "<script> alert('El codigo ya se encuentra registrado.'); </script>";
}
else
{
   

if ($art_referencias==NULL && $art_barras==NULL)
{
    echo '<div class="alert alert-danger alert-dismissable">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <strong>Debe ingresar una Referencia o codigo de barras!</strong> 
        </div>'; 
}
else
{
    if($art_referencias==NULL)
    {
        $art_referencia=$art_barras;
    }
    else
    {
        $art_referencia=$art_referencias;
    } 

    $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_barras,art_referencia2,art_nombre_online,art_nombre,art_nombre_largo,art_precio_costo,art_pvp,art_utilidad,art_comision,art_iva,art_tipo_imp,art_estado,art_online,art_tipo,art_garantia,familias_fam_id,proveedor_pro_id,marca_mar_id,ubicacion_ubi_id,art_lote,art_atributo_estado,art_atributo1,art_atributo2,art_venta_min,art_escaso,art_promo_desc,empresa) 
        VALUES ('$art_id','$art_referencia','$art_barras','$art_referencia2','$art_nombre_online','$art_nombre','$art_nombre_largo','$art_costo','$art_pvp','$art_utilidad','$art_comision','$art_iva','$tipo_impuesto','Activo','$art_online','articulo','$art_garantia','$art_familia','$art_proveedor','$art_marca','$art_ubicacion','$art_lote','$art_atributo_estado','$art_atributo1','$art_atributo2','$art_venta_min','$art_escaso','0','$empresa')") or die(mysqli_error($con));
        
        $datoss=mysqli_query($con,"SELECT * FROM sucursal WHERE empresa='$empresa'");
        while($filas=mysqli_fetch_array($datoss))
        {
            $sucu_id=$filas['suc_id'];
            $datosb=mysqli_query($con,"SELECT * FROM bodegas WHERE empresa='$empresa' and sucursal='$sucu_id'");
            while($filab=mysqli_fetch_array($datosb))
            {
                $bode_id=$filab['bod_id'];

                $can=mysqli_query($con,"SELECT MAX(art_id)as art_idb FROM articulos_has_bodegas") or die(mysqli_error($con)); 
                $dato=mysqli_fetch_array($can); 
                $art_idb=$dato['art_idb']+1;
                
                $sql1=mysqli_query($con,"INSERT INTO articulos_has_bodegas VALUES ('$art_idb','$art_id','0','$art_minimo','0','0','$bode_id','$sucu_id','$empresa')") or die(mysqli_error($con));
            }
        }

        $sql2=mysqli_query($con,"INSERT INTO precio (pre_precio,tarifas_tar_id,articulos_art_id,empresa) VALUES('$art_pvp',' $tar_id','$art_id','$empresa')") or die(mysqli_error($con));
        
        if ($tarifas>1)
        {
            $number=count($_POST["precio"]); 
            if($number > 0)  
            {  
                for($i=0; $i<$number; $i++)  
                {  
                    if(trim($_POST["precio"][$i] != '') )
                    $dato1=$_POST["nombre"][$i];  
                    $dato2=$_POST["precio"][$i];
                    {  
                        $sql="INSERT INTO precio (pre_precio,tarifas_tar_id,articulos_art_id,empresa) VALUES('".$dato2."','".$dato1."','$art_id','$empresa')";
                        mysqli_query($con, $sql);  
                    }  
                } 
            }                      
        }

        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]);  
                    
                    {  
                        $sql ="INSERT INTO atributos1 (atri_nombre,atri_art_id,empresa) VALUES('".$dato1."','$art_id','$empresa')";  
                        mysqli_query($con, $sql);

                    }  
                } 
            }                      
        }

        if(!empty($_POST['opcion2']))
        {
            $number2 = count($_POST["opcion2"]); 
            if($number2 > 0)  
            {  
                for($i=0; $i<$number2; $i++)  
                {  
                    if(trim($_POST["opcion2"][$i] != ''))
                    $dato2=mb_strtoupper($_POST["opcion2"][$i]);  
                    
                    {  
                        $sql ="INSERT INTO atributos2 (atri_nombre2,atri_art_id2,empresa) VALUES('".$dato2."','$art_id','$empresa')";  
                        mysqli_query($con, $sql);

                    }  
                } 
            }
        }  

        //presentaciones
        $nombre_pre=mb_strtoupper($_POST["nombre_pre"]);  
        $cantidad_pre=mb_strtoupper($_POST["cantidad_pre"]);  
        $precio_pre=mb_strtoupper($_POST["precio_pre"]); 

        $sql ="INSERT INTO articulos_presentacion (pres_art_id,pres_unidad,pres_cantidad,pres_precio,pres_factor,pres_defecto) VALUES('$art_id','$nombre_pre','$cantidad_pre','$precio_pre','M','si')";  
                        mysqli_query($con, $sql);

        if(!empty($_POST['nombre_prei']))
        {
            $number_pres = count($_POST["nombre_prei"]); 
            if($number_pres > 0)  
            {  
                for($i=0; $i<$number_pres; $i++)  
                {  
                    if(trim($_POST["nombre_prei"][$i] != ''))
                    $nombre_pre1=mb_strtoupper($_POST["nombre_prei"][$i]);  
                    $cantidad_pre1=mb_strtoupper($_POST["cantidad_prei"][$i]);  
                    $precio_pre1=mb_strtoupper($_POST["precio_prei"][$i]);  
                    {  
                        $sql ="INSERT INTO articulos_presentacion (pres_art_id,pres_unidad,pres_cantidad,pres_precio,pres_factor,pres_defecto) VALUES('$art_id','$nombre_pre1','$cantidad_pre1','$precio_pre1','M','no')";  
                        mysqli_query($con, $sql);
                    }  
                } 
            }
        }  

?>
        <div class="alert alert-success alert-dismissable">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <strong>Articulo!</strong> Registrado correctamente.
        </div>
                       
        <script type="text/javascript">
            //document.getElementById("add_name").reset();
            document.add_name.art_referencia.value="";
            document.add_name.art_referencia2.value="";
            document.add_name.art_barras.value="";
            document.add_name.art_nombre.value="";
            document.add_name.art_nombre_online.value="";
            document.add_name.art_nombre_largo.value="";
            document.add_name.art_costo.value="";
            document.add_name.art_utilidad.value="";
            document.add_name.art_pvp.value="";
            document.add_name.art_garantia.value="";
            document.add_name.art_comision.value="0";
            $("#listas").html(""); // RESETEAR LISTAS DE LOS ATRIBUTOS
            $("#listas2").html("");
            $("#listas_pre1").html("");
        </script>           
        <?php 
        $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>';
            }
        }

    }
    else
    {
        echo '<div class="alert alert-danger alert-dismissable">
          <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
          <strong>Articulo!</strong> no registrado.
        </div>';  
    }
}
}
?>