<?php 
session_start(); 
require_once('../conexion.php');
require_once('../include/sesiones.php');

$empr1=mysqli_query($con,"SELECT * FROM empresa where emp_id<>'4'") or die(mysqli_error($con)); 
while ($empr=mysqli_fetch_array($empr1))
{   
    $emp_id=$empr['emp_id'];
    $emp_nombre2=$empr['emp_nombre'];

    $art_referencia_antes=limpiar($_POST['art_referencia_antes']);
    $can=mysqli_query($con,"SELECT * FROM articulos where art_referencia='$art_referencia_antes' AND empresa='$emp_id'") or die(mysqli_error($con)); 
    $row=mysqli_fetch_array($can);
    $result0=mysqli_num_rows($can);
    if ($result0>0) 
    {
        $aart_id=$row['art_id'];
        //$aart_id=limpiar($_POST['art_id']);
        $aart_referencia=limpiar(mb_strtoupper($_POST['art_referencia']));
        $aart_barras=limpiar(mb_strtoupper($_POST['art_barras']));
        $aart_referencia2=limpiar(mb_strtoupper($_POST['art_referencia2']));
        $aart_nombre_online=limpiar(mb_strtoupper($_POST['art_nombre_online']));
        $aart_nombre=limpiar(mb_strtoupper($_POST['art_nombre']));
        $aart_nombre_largo=limpiar(mb_strtoupper($_POST['art_nombre_largo']));
        $aart_proveedor=limpiar($_POST['art_proveedor']);
        $aart_familia=limpiar($_POST['art_familia']);
        $aart_marca=limpiar($_POST['art_marca']);
        $aart_ubicacion=limpiar($_POST['art_ubicacion']);
        $aart_garantia=limpiar($_POST['art_garantia']);
        $aart_costo=limpiar($_POST['art_costo']);

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

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

        $aart_estado=limpiar($_POST['art_estado']);
        $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_promo_desc=limpiar($_POST['art_promo_desc']);

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

        $art=mysqli_query($con,"SELECT * FROM articulos WHERE empresa='$emp_id' AND art_id<>'$aart_id' AND art_referencia='$aart_referencia'") or die(mysqli_error($con));
        $result=mysqli_num_rows($art);
        if ($result==0) 
        {
            //$general=limpiar($_POST['general']);
            $precio_gen=limpiar($_POST['precio_gen']);
            $sql=mysqli_query($con,"UPDATE articulos Set
                                            art_referencia ='$aart_referencia', 
                                            art_barras ='$aart_barras',
                                            art_referencia2='$aart_referencia2',
                                            art_nombre ='$aart_nombre',
                                            art_precio_costo ='$aart_costo',
                                            art_pvp ='$precio_gen',
                                            art_iva ='$aart_iva',
                                            art_tipo_imp='$tipo_impuesto',
                                            art_comision = '$art_comision',
                                            art_estado ='$aart_estado',
                                            art_garantia ='$aart_garantia',                   
                                            art_lote='$art_lote',
                                            art_atributo_estado='$art_atributo_estado_mod',
                                            art_atributo1='$art_atributo1',
                                            art_atributo2='$art_atributo2',
                                            art_venta_min='$art_venta_min',
                                            art_escaso='$art_escaso',
                                            art_promo_desc='$art_promo_desc'
                                            Where art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con)); 
            
            if($tienda_online=='si')
            {
                $sql=mysqli_query($con,"UPDATE articulos Set
                                            art_nombre_online ='$aart_nombre_online', 
                                            art_nombre_largo ='$aart_nombre_largo',
                                            art_online ='$art_online',
                                            art_promo_desc='$art_promo_desc'
                                            Where art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con)); 
            }


            if($emp_id==$empresa)
            {
                $sql=mysqli_query($con,"UPDATE articulos Set
                                        familias_fam_id='$aart_familia',
                                        proveedor_pro_id='$aart_proveedor',
                                        marca_mar_id ='$aart_marca',
                                        ubicacion_ubi_id='$aart_ubicacion'
                                        Where art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con)); 
            }
            else
            {
                $idfam=mysqli_query($con,"SELECT * FROM familias WHERE fam_id='$aart_familia' and empresa='$empresa' ") ;
                $idfam1=mysqli_fetch_array($idfam); 
                $fam_nombre=$idfam1['fam_nombre'];

                $idfam2=mysqli_query($con,"SELECT * FROM familias WHERE fam_nombre='$fam_nombre' and empresa='$emp_id' ") ;
                $result_t2=mysqli_num_rows($idfam2);
                if ($result_t2>0) 
                {
                    $idfam3=mysqli_fetch_array($idfam2); 
                    $fam_id_x_emp=$idfam3['fam_id'];
                    $sql=mysqli_query($con,"UPDATE articulos Set
                                            familias_fam_id='$fam_id_x_emp'
                                            Where art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con));
                }
            }

           

          
     
            $gen=mysqli_query($con,"SELECT * FROM tarifas WHERE tar_nombre='GENERAL' and empresa='$emp_id' ") ;
            $gen=mysqli_fetch_array($gen); 
            $tar_id_general=$gen['tar_id'];

            $sql=mysqli_query($con,"UPDATE precio Set pre_precio='$precio_gen' 
                            WHERE tarifas_tar_id='$tar_id_general' and articulos_art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con)); 
           
            $sql=mysqli_query($con,"UPDATE articulos_has_bodegas Set art_minimo ='$art_minimo' 
                                WHERE articulos_art_id='$aart_id' and empresa='$emp_id'") or die(mysqli_error($con)); 
            
            if(!empty($_POST["precio"]))
            {
                $number = count($_POST["precio"]); 
                if($number > 0)  
                {  
                    for($i=0; $i<$number; $i++)  
                    {  
                        if(trim($_POST["precio"][$i] != '') )
                        $id_tar_dato1=$_POST["nombre"][$i];
                        $dato2=$_POST["precio"][$i];
     


                        $idta=mysqli_query($con,"SELECT * FROM tarifas WHERE tar_id='$id_tar_dato1' ") ;
                        $idt=mysqli_fetch_array($idta); 
                        $tar_nombre=$idt['tar_nombre'];

                        $idta = mysqli_query($con,"SELECT * FROM tarifas WHERE tar_nombre='$tar_nombre' and empresa='$emp_id' ") ;
                        $idt = mysqli_fetch_array($idta); 
                        $result_t=mysqli_num_rows($idta);
                        if ($result_t>0) 
                        {  
                            $dato1=$idt['tar_id'];
                            $tar=mysqli_query($con,"SELECT count(tarifas_tar_id) as suma FROM precio WHERE tarifas_tar_id='$dato1' and articulos_art_id='$aart_id' and empresa='$emp_id'") ;
                            $tar=mysqli_fetch_array($tar);
                            $suma=$tar["suma"];
                            if ($suma>0) 
                            {
                                $sql=mysqli_query($con,"UPDATE precio Set pre_precio ='$dato2' 
                                WHERE tarifas_tar_id='$dato1' and articulos_art_id='$aart_id' and empresa='$emp_id' ") or die(mysqli_error($con)); 
                            }
                            else
                            {
                                $sql="INSERT INTO precio (pre_precio,tarifas_tar_id,articulos_art_id,empresa) VALUES('".$dato2."','".$dato1."','$aart_id','$emp_id')";  
                                mysqli_query($con, $sql); 
                            }
                        }  

                    } 
                } 
            }

            $nameimagen = $_FILES['imagen2']['name'];
            $tmpimagen = $_FILES['imagen2']['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/".$aart_id.".jpg";

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

            $max_size = 150 * 1024; // 150 KB en bytes

            if(is_uploaded_file($tmpimagen))
            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['imagen2']['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>';
            }
        }


            if($emp_id==1)
            {
                //modificar atributo1
                if(!empty($_POST["id_opcion1"]))
                {
                    $number = count($_POST["id_opcion1"]); 
                    if($number > 0)  
                    {  
                        for($i=0; $i<$number; $i++)  
                        {  
                            if(trim($_POST["id_opcion1"][$i] != '') )
                            $dato1=$_POST["id_opcion1"][$i];
                            $dato2=mb_strtoupper($_POST["opcion1"][$i]);  
                            {  
                                $sql=mysqli_query($con,"UPDATE atributos1 Set atri_nombre ='$dato2' WHERE atri_id ='$dato1'") or die(mysqli_error($con)); 
                            }  
                        } 
                    } 
                }


                if(!empty($_POST["id_opcion2"]))
                {
                    $number = count($_POST["id_opcion2"]); 
                    if($number > 0)  
                    {  
                        for($i=0; $i<$number; $i++)  
                        {  
                            if(trim($_POST["id_opcion2"][$i] != '') )
                            $dato1=$_POST["id_opcion2"][$i];
                            $dato2=mb_strtoupper($_POST["opcion2"][$i]);  
                            {  
                                $sql=mysqli_query($con,"UPDATE atributos2 Set atri_nombre2 ='$dato2' WHERE atri_id2 ='$dato1'") or die(mysqli_error($con)); 
                            }  
                        } 
                    } 
                }


                //atributos nuevo
                if(!empty($_POST['opcion_mod1']))
                {
                    $number1 = count($_POST["opcion_mod1"]); 
                    if($number1 > 0)  
                    {  
                        for($i=0; $i<$number1; $i++)  
                        {  
                            if(trim($_POST["opcion_mod1"][$i] != ''))
                            $dato1=mb_strtoupper($_POST["opcion_mod1"][$i]);  
                            
                            {  
                                $sql ="INSERT INTO atributos1 (atri_nombre,atri_art_id,empresa) VALUES('".$dato1."','$aart_id','$emp_id')";  
                                mysqli_query($con, $sql);

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

                            }  
                        } 
                    }                      
                }           
                
            }
            echo '<div class="alert alert-success alert-dismissable">
                    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                    <strong>Articulo! Modificado correctamente en '.$emp_nombre2.'</strong>
                </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 no modificado. La referencia Ya Existe</strong></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 no Encontrado en '.$emp_nombre2.'</strong>
            </div>';
    }
}
?>

<!-- 🔹 Script para ocultar alertas automáticamente -->
<script>
setTimeout(function() {
    const alertas = document.querySelectorAll(".alert");
    alertas.forEach(a => {
        a.style.transition = "opacity 0.5s ease";
        a.style.opacity = "0";
        setTimeout(() => a.remove(), 500);
    });
}, 2000);
</script>