From 6d5bcdebf162cb4192d752c683adba2fef4147bc Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Mon, 20 May 2013 14:09:11 +1000 Subject: [PATCH] MDL-39177 Updating userid when file is overwritten --- lib/filelib.php | 3 ++- lib/filestorage/stored_file.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/filelib.php b/lib/filelib.php index 04e6fe9ab20..1820beac83c 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -839,7 +839,8 @@ function file_save_draft_area_files($draftitemid, $contextid, $component, $filea if (!$oldfile->is_directory() && ($oldfile->get_contenthash() != $newfile->get_contenthash() || $oldfile->get_filesize() != $newfile->get_filesize() || - $oldfile->get_referencefileid() != $newfile->get_referencefileid())) { + $oldfile->get_referencefileid() != $newfile->get_referencefileid() || + $oldfile->get_userid() != $newfile->get_userid())) { $oldfile->replace_file_with($newfile); // push changes to all local files that are referencing this file $fs->update_references_to_storedfile($oldfile); diff --git a/lib/filestorage/stored_file.php b/lib/filestorage/stored_file.php index 3a27e81cf70..40c5b314147 100644 --- a/lib/filestorage/stored_file.php +++ b/lib/filestorage/stored_file.php @@ -212,7 +212,7 @@ class stored_file { /** * Replaces the fields that might have changed when file was overriden in filepicker: - * reference, contenthash, filesize + * reference, contenthash, filesize, userid * * Note that field 'source' must be updated separately because * it has different format for draft and non-draft areas and @@ -240,6 +240,7 @@ class stored_file { } $filerecord->filesize = $newfile->get_filesize(); $filerecord->referencefileid = $newfile->get_referencefileid(); + $filerecord->userid = $newfile->get_userid(); $this->update($filerecord); }