Additional parameter to move files only

This commit is contained in:
Champ Camba
2018-08-01 01:03:19 +08:00
parent ac6e134536
commit fb467b69de
+20 -7
View File
@@ -1892,9 +1892,11 @@ if ( ! class_exists( 'um\core\User' ) ) {
* @param array $user_id
* @param array $files
*/
function move_temporary_files( $user_id, $files ){
function move_temporary_files( $user_id, $files, $move_only = false ){
foreach ( $files as $key => $filename ) {
if( empty( $filename ) ) continue;
$user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true );
$temp_file_path = UM()->uploader()->get_core_temp_dir() . "/" . $filename;
@@ -1909,12 +1911,23 @@ if ( ! class_exists( 'um\core\User' ) ) {
}else{
$new_filename = str_replace("file_","file_{$extra_hash}_", $filename );
}
$file = $user_basedir. "/" . $new_filename;
if( rename( $temp_file_path, $file ) ){
$file_info = get_transient("um_{$filename}");
update_user_meta( $user_id, $key, $new_filename );
update_user_meta( $user_id, "{$key}_metadata", $file_info );
delete_transient("um_{$filename}");
if( $move_only ){
$file = $user_basedir. "/" . $filename;
rename( $temp_file_path, $file );
}else{
$file = $user_basedir. "/" . $new_filename;
if( rename( $temp_file_path, $file ) ){
$file_info = get_transient("um_{$filename}");
update_user_meta( $user_id, $key, $new_filename );
update_user_meta( $user_id, "{$key}_metadata", $file_info );
delete_transient("um_{$filename}");
}
}
}