diff options
Diffstat (limited to 'modules/system/system.api.php')
-rw-r--r-- | modules/system/system.api.php | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/modules/system/system.api.php b/modules/system/system.api.php index e82ac8967..2d16dacc5 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -2824,7 +2824,15 @@ function hook_file_insert($file) { * @see file_save() */ function hook_file_update($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))); + } } /** @@ -2838,7 +2846,14 @@ function hook_file_update($file) { * @see file_copy() */ function hook_file_copy($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))); + } } /** @@ -2852,7 +2867,14 @@ function hook_file_copy($file, $source) { * @see file_move() */ function hook_file_move($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))); + } } /** |