diff --git a/includes/core/class-user.php b/includes/core/class-user.php index 1aea2867..43a4db18 100644 --- a/includes/core/class-user.php +++ b/includes/core/class-user.php @@ -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}"); + } } }