summaryrefslogtreecommitdiff
path: root/includes/file.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/file.inc')
-rw-r--r--includes/file.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/includes/file.inc b/includes/file.inc
index 742c20e72..e8db63448 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -574,6 +574,11 @@ function file_save(stdClass $file) {
$file->timestamp = REQUEST_TIME;
$file->filesize = filesize($file->uri);
+ // Load the stored entity, if any.
+ if (!empty($file->fid) && !isset($file->original)) {
+ $file->original = entity_load_unchanged('file', $file->fid);
+ }
+
if (empty($file->fid)) {
drupal_write_record('file_managed', $file);
// Inform modules about the newly added file.
@@ -587,6 +592,7 @@ function file_save(stdClass $file) {
module_invoke_all('entity_update', $file, 'file');
}
+ unset($file->original);
return $file;
}