// ======================================== // FUNCIONES DE ACCESO - INVENTARIO // Agregar estas funciones a config.php // ======================================== /** * Verificar si el usuario tiene acceso al módulo de inventario * Solo bodega1, bodega2 y Josue tienen acceso */ function tieneAccesoInventario() { if (!isset($_SESSION['usuario'])) { return false; } $usuario = $_SESSION['usuario']; $usuarios_permitidos = ['bodega1', 'bodega2', 'Josue']; foreach ($usuarios_permitidos as $user) { if (strcasecmp(trim($usuario), $user) === 0) { return true; } } return false; } /** * Crear directorio de uploads para imágenes de productos si no existe */ function crearDirectorioUploads() { $upload_dir = __DIR__ . '/uploads/inventario'; if (!file_exists($upload_dir)) { mkdir($upload_dir, 0755, true); } return $upload_dir; } /** * Subir imagen de producto * @param array $file - Array del $_FILES * @return string|false - Nombre del archivo guardado o false si falla */ function subirImagenProducto($file) { if (!isset($file) || $file['error'] === UPLOAD_ERR_NO_FILE) { return null; // No se subió archivo (es opcional) } if ($file['error'] !== UPLOAD_ERR_OK) { return false; } // Validar tipo de archivo $allowed_types = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp']; $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime_type = finfo_file($finfo, $file['tmp_name']); finfo_close($finfo); if (!in_array($mime_type, $allowed_types)) { return false; } // Validar tamaño (máximo 5MB) if ($file['size'] > 5 * 1024 * 1024) { return false; } // Crear nombre único $extension = pathinfo($file['name'], PATHINFO_EXTENSION); $filename = uniqid('prod_') . '_' . time() . '.' . $extension; // Crear directorio si no existe $upload_dir = crearDirectorioUploads(); $filepath = $upload_dir . '/' . $filename; // Mover archivo if (move_uploaded_file($file['tmp_name'], $filepath)) { return $filename; } return false; } /** * Eliminar imagen de producto */ function eliminarImagenProducto($filename) { if (empty($filename)) { return true; } $filepath = __DIR__ . '/uploads/inventario/' . $filename; if (file_exists($filepath)) { return unlink($filepath); } return true; }