X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/841d44c00aae1166a0721e40dc2f9ffb7b9ac5b5..b293ff8ad52fc76ba0c44783e3982418114d6b08:/sql/Pg-upgrade2-auth/clients_webdav.pl 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;