From ac0a351064f58d4e563daa4584d17a7e9ac61476 Mon Sep 17 00:00:00 2001 From: Brasdrive Date: Sun, 9 Nov 2025 17:55:28 -0400 Subject: [PATCH] 3.0.0 --- src/Filesystem/Adapters/WebdavAdapter.php | 24 +++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Filesystem/Adapters/WebdavAdapter.php b/src/Filesystem/Adapters/WebdavAdapter.php index bcffe8b..1123430 100644 --- a/src/Filesystem/Adapters/WebdavAdapter.php +++ b/src/Filesystem/Adapters/WebdavAdapter.php @@ -57,11 +57,27 @@ final class WebdavAdapter $prefix = trim((string) $webdav['prefix'], '/'); } - $defaultVisibility = $webdav['default_visibility'] - ?? ($config['visibility'] ?? Visibility::PRIVATE); + $defaultVisibility = $webdav['default_visibility'] ?? ($config['visibility'] ?? Visibility::PRIVATE); + $visibility = $this->normaliseVisibility($defaultVisibility); - $visibility = $this->normaliseVisibility($defaultVisibility); - $visibilityConverter = PortableVisibilityConverter::fromArray([], $visibility); + // Permisos Unix por defecto (puedes exponerlos en config si lo necesitas) + $permissions = $webdav['permissions'] ?? [ + 'file' => [ + Visibility::PUBLIC => 0644, + Visibility::PRIVATE => 0600, + ], + 'dir' => [ + Visibility::PUBLIC => 0755, + Visibility::PRIVATE => 0700, + ], + ]; + + $directoryDefault = $visibility === Visibility::PUBLIC ? 0755 : 0700; + + $visibilityConverter = PortableVisibilityConverter::fromArray( + $permissions, + $directoryDefault + ); return new LeagueWebDAVAdapter($client, $prefix, $visibilityConverter); }