From 74d8dd6f77ff33f496cac0fc1c715c167232a5ca Mon Sep 17 00:00:00 2001 From: "Martin Helmling martin.helmling@octosoft.eu" Date: Sat, 30 Sep 2017 15:24:27 +0200 Subject: [PATCH] Dateimanagment: itime/mtime in DB kann gesetzt werden, mtime kann in Filesystem-Backend gesetzt werden MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Wird benötigt falls man bestehende Dateien übernehmen will --- SL/File.pm | 8 ++++++-- SL/File/Backend/Filesystem.pm | 3 +++ scripts/sync_files_from_backend.pl | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/SL/File.pm b/SL/File.pm index 329697474..830559460 100644 --- a/SL/File.pm +++ b/SL/File.pm @@ -220,6 +220,8 @@ sub _save { title => $params{title}, description => $params{description}, ); + $file->itime($params{mtime}) if $params{mtime}; + $params{itime} = $params{mtime} if $params{mtime}; } } else { $exists = 1; @@ -236,12 +238,14 @@ sub _save { # load itime for new file $file->save->load; } - $main::lxdebug->message(LXDebug->DEBUG2(), "backend3=" .$file->backend); + + $file->mtime(DateTime->now_local) unless $params{mtime}; + $file->mtime($params{mtime} ) if $params{mtime}; + my $backend = $self->_get_backend($file->backend); $params{dbfile} = $file; $backend->save(%params); - $file->mtime(DateTime->now_local); $file->save; #ShopImage if($file->object_type eq "shop_image"){ diff --git a/SL/File/Backend/Filesystem.pm b/SL/File/Backend/Filesystem.pm index c42707d6c..ec67d7414 100644 --- a/SL/File/Backend/Filesystem.pm +++ b/SL/File/Backend/Filesystem.pm @@ -79,6 +79,9 @@ sub save { print OUT $params{file_contents}; close(OUT); } + if ($params{mtime}) { + utime($params{mtime}, $params{mtime}, $tofile); + } return 1; } diff --git a/scripts/sync_files_from_backend.pl b/scripts/sync_files_from_backend.pl index 26626e1b2..2c361483f 100755 --- a/scripts/sync_files_from_backend.pl +++ b/scripts/sync_files_from_backend.pl @@ -82,7 +82,7 @@ parse_args(\%config); setup(); SL::File->sync_from_backend( file_type => 'document'); -SL::File->sync_from_backend( file_type => 'attachments'); -SL::File->sync_from_backend( file_type => 'images'); +SL::File->sync_from_backend( file_type => 'attachment'); +SL::File->sync_from_backend( file_type => 'image'); 1; -- 2.20.1