X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2-auth%2Fclients_webdav.pl;h=68650e7a55a616ec51cf9751e95f0d34254bac01;hb=11aeaa07186197c61dfe610d2a5c981754fd2e9d;hp=2476e8ac201cba7e0232c09fb9dc837b2bff3f38;hpb=841d44c00aae1166a0721e40dc2f9ffb7b9ac5b5;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2-auth/clients_webdav.pl b/sql/Pg-upgrade2-auth/clients_webdav.pl index 2476e8ac2..68650e7a5 100644 --- a/sql/Pg-upgrade2-auth/clients_webdav.pl +++ b/sql/Pg-upgrade2-auth/clients_webdav.pl @@ -2,13 +2,14 @@ # @description: WebDAV-Migration für Mandanten # @depends: clients # @ignore: 0 -package SL::DBUpgrade2::clients_webdav; +package SL::DBUpgrade2::Auth::clients_webdav; use strict; 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;