X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2-auth%2Fclients_webdav.pl;h=6f73f216b8151080c2ff8bc88add369c483e12c8;hb=28bd71eb8c1b7c3d11779a8d954017933f7938a5;hp=2476e8ac201cba7e0232c09fb9dc837b2bff3f38;hpb=d4dd649f8f6e32bc31929bf83d536344745cca05;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2-auth/clients_webdav.pl b/sql/Pg-upgrade2-auth/clients_webdav.pl index 2476e8ac2..6f73f216b 100644 --- a/sql/Pg-upgrade2-auth/clients_webdav.pl +++ b/sql/Pg-upgrade2-auth/clients_webdav.pl @@ -9,6 +9,7 @@ use utf8; use parent qw(SL::DBUpgrade2::Base); +use File::Find (); use File::Path qw(make_path); use IO::Dir; use List::MoreUtils qw(any all); @@ -81,11 +82,24 @@ sub _create_symlink { symlink '../' . $client->{id}, "webdav/links/${name}"; } +sub _webdav_folders_used { + my ($self, %params) = @_; + + my $contains_files = 0; + my $wanted = sub { + $contains_files = 1 if -f && !m{/(?:\.gitignore|.dummy|webdav-user)$}; + }; + + File::Find::find({ wanted => $wanted, no_chdir => 1 }, 'webdav'); + + return $contains_files; +} + sub run { my ($self) = @_; - # WebDAV not activated? Remove old folders, and we're done. - return $self->_unlink_old_folders if !$::lx_office_conf{features}->{webdav}; + # WebDAV not used? Remove old folders, and we're done. + return $self->_unlink_old_folders if !$self->_webdav_folders_used; # Ensure at least one client exists. $self->_ensure_one_client_exists;