From 91bf85846e4ff124d2a9a488a251b694778441f4 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Thu, 27 Oct 2022 14:46:31 +0800 Subject: [PATCH] MDL-76011 lib: Updated the zip writer to retain the modified date. --- files/classes/local/archive_writer/zip_writer.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/files/classes/local/archive_writer/zip_writer.php b/files/classes/local/archive_writer/zip_writer.php index f6187f5bf3672..0c92d13e14013 100644 --- a/files/classes/local/archive_writer/zip_writer.php +++ b/files/classes/local/archive_writer/zip_writer.php @@ -26,6 +26,7 @@ use ZipStream\Option\Archive; use ZipStream\ZipStream; +use ZipStream\Option\File as FileOptions; use core_files\archive_writer; use core_files\local\archive_writer\file_writer_interface as file_writer_interface; use core_files\local\archive_writer\stream_writer_interface as stream_writer_interface; @@ -110,8 +111,12 @@ public function add_file_from_stream(string $name, $stream): void { } public function add_file_from_stored_file(string $name, \stored_file $file): void { + $datetime = new \DateTime(); + $datetime->setTimestamp($file->get_timemodified()); + $fileoptions = new FileOptions(); + $fileoptions->setTime($datetime); $filehandle = $file->get_content_file_handle(); - $this->archive->addFileFromStream($this->sanitise_filepath($name), $filehandle); + $this->archive->addFileFromStream($this->sanitise_filepath($name), $filehandle, $fileoptions); fclose($filehandle); }