From d6ada284da144566b37efd41276f30f3d2add296 Mon Sep 17 00:00:00 2001
From: Jennifer Hodgdon <yahgrp@poplarware.com>
Date: Tue, 27 Nov 2012 07:35:31 -0800
Subject: [PATCH] Issue #1173322 by javier_: Add function bodies to file hook
 documentation

---
 core/modules/file/file.api.php | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/core/modules/file/file.api.php b/core/modules/file/file.api.php
index c0b0d521a1a5..fb59229b977b 100644
--- a/core/modules/file/file.api.php
+++ b/core/modules/file/file.api.php
@@ -97,7 +97,15 @@ function hook_file_insert(Drupal\file\File $file) {
  *   The file that has just been updated.
  */
 function hook_file_update(Drupal\file\File $file) {
-
+  $file_user = user_load($file->uid);
+  // Make sure that the file name starts with the owner's user name.
+  if (strpos($file->filename, $file_user->name) !== 0) {
+    $old_filename = $file->filename;
+    $file->filename = $file_user->name . '_' . $file->filename;
+    $file->save();
+
+    watchdog('file', t('%source has been renamed to %destination', array('%source' => $old_filename, '%destination' => $file->filename)));
+  }
 }
 
 /**
@@ -111,7 +119,14 @@ function hook_file_update(Drupal\file\File $file) {
  * @see file_copy()
  */
 function hook_file_copy(Drupal\file\File $file, Drupal\file\File $source) {
+  $file_user = user_load($file->uid);
+  // Make sure that the file name starts with the owner's user name.
+  if (strpos($file->filename, $file_user->name) !== 0) {
+    $file->filename = $file_user->name . '_' . $file->filename;
+    $file->save();
 
+    watchdog('file', t('Copied file %source has been renamed to %destination', array('%source' => $source->filename, '%destination' => $file->filename)));
+  }
 }
 
 /**
@@ -125,7 +140,14 @@ function hook_file_copy(Drupal\file\File $file, Drupal\file\File $source) {
  * @see file_move()
  */
 function hook_file_move(Drupal\file\File $file, Drupal\file\File $source) {
+  $file_user = user_load($file->uid);
+  // Make sure that the file name starts with the owner's user name.
+  if (strpos($file->filename, $file_user->name) !== 0) {
+    $file->filename = $file_user->name . '_' . $file->filename;
+    $file->save();
 
+    watchdog('file', t('Moved file %source has been renamed to %destination', array('%source' => $source->filename, '%destination' => $file->filename)));
+  }
 }
 
 /**
-- 
GitLab