diff --git a/includes/core/class-uploader.php b/includes/core/class-uploader.php index 424315a5..57616536 100644 --- a/includes/core/class-uploader.php +++ b/includes/core/class-uploader.php @@ -1090,15 +1090,27 @@ if ( ! class_exists( 'um\core\Uploader' ) ) { function move_temporary_files( $user_id, $files, $move_only = false ) { $new_files = array(); + $user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true ); + foreach ( $files as $key => $filename ) { - if ( empty( $filename ) ) { + if ( empty( $filename ) || 'empty_file' == $filename ) { + //clear empty filename values + $old_filename = get_user_meta( $user_id, $key, true ); + $file = $user_basedir . DIRECTORY_SEPARATOR . $old_filename; + if ( file_exists( $file ) ) { + unlink( $file ); + } + + delete_user_meta( $user_id, $key ); + delete_user_meta( $user_id, "{$key}_metadata" ); + delete_transient("um_{$filename}"); + continue; } - $user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true ); + //move temporary file from temp directory to the correct user directory $temp_file_path = UM()->uploader()->get_core_temp_dir() . DIRECTORY_SEPARATOR . $filename; - if ( file_exists( $temp_file_path ) ) { $extra_hash = hash( 'crc32b', current_time('timestamp') ); @@ -1131,6 +1143,7 @@ if ( ! class_exists( 'um\core\Uploader' ) ) { } + //remove user old files $this->remove_unused_uploads( $user_id, $new_files ); } @@ -1167,8 +1180,6 @@ if ( ! class_exists( 'um\core\Uploader' ) ) { } } } - - } } \ No newline at end of file diff --git a/includes/core/um-actions-profile.php b/includes/core/um-actions-profile.php index c99e5fc2..a7467ca3 100644 --- a/includes/core/um-actions-profile.php +++ b/includes/core/um-actions-profile.php @@ -221,9 +221,6 @@ function um_user_edit_profile( $args ) { foreach ( $fields as $key => $array ) { - /*if ( ! um_can_edit_field( $fields[ $key ] ) ) - continue;*/ - if ( ! um_can_edit_field( $fields[ $key ] ) && isset( $fields[ $key ]['editable'] ) && ! $fields[ $key ]['editable'] ) continue; @@ -370,30 +367,6 @@ function um_user_edit_profile( $args ) { $files = apply_filters( 'um_user_pre_updating_files_array', $files ); if ( is_array( $files ) ) { - /** - * UM hook - * - * @type action - * @title um_before_user_upload - * @description Before file uploaded on complete UM user profile. - * @input_vars - * [{"var":"$user_id","type":"int","desc":"User ID"}, - * {"var":"$files","type":"array","desc":"Files data"}] - * @change_log - * ["Since: 2.0"] - * @usage add_action( 'um_before_user_upload', 'function_name', 10, 2 ); - * @example - * - */ - do_action( 'um_before_user_upload', um_user( 'ID' ), $files ); - - //UM()->user()->update_files( $files ); - UM()->uploader()->move_temporary_files( um_user( 'ID' ), $files ); } @@ -1420,33 +1393,4 @@ function um_profile_menu( $args ) { } } -add_action( 'um_profile_menu', 'um_profile_menu', 9 ); - - -/** - * Clean up file for new uploaded files - * - * @param integer $user_id - * @param array $arr_files - */ -function um_before_user_upload( $user_id, $arr_files ) { - um_fetch_user( $user_id ); - - foreach ( $arr_files as $key => $filename ) { - if ( um_user( $key ) ) { - $old_filename = um_user( $key ); - - if ( basename( $filename ) != basename( um_user( $key ) ) || - in_array( $old_filename, array( basename( um_user( $key ) ), basename( $filename ) ) ) || - $filename == 'empty_file' ) { - - $path = UM()->files()->upload_basedir; - delete_user_meta( $user_id, $old_filename ); - if (file_exists( $path . $user_id . '/' . $old_filename )) { - unlink( $path . $user_id . '/' . $old_filename ); - } - } - } - } -} -add_action( "um_before_user_upload", "um_before_user_upload", 10, 2 ); \ No newline at end of file +add_action( 'um_profile_menu', 'um_profile_menu', 9 ); \ No newline at end of file diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 3dda6d94..a2ee1d59 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -671,30 +671,6 @@ function um_registration_save_files( $user_id, $args ) { $files = apply_filters( 'um_user_pre_updating_files_array', $files ); if ( !empty( $files ) ) { - /** - * UM hook - * - * @type action - * @title um_before_user_upload - * @description Before file uploaded on complete UM user registration. - * @input_vars - * [{"var":"$user_id","type":"int","desc":"User ID"}, - * {"var":"$files","type":"array","desc":"Files data"}] - * @change_log - * ["Since: 2.0"] - * @usage add_action( 'um_before_user_upload', 'function_name', 10, 2 ); - * @example - * - */ - do_action( 'um_before_user_upload', $user_id, $files ); - - //UM()->user()->update_files( $files ); - UM()->uploader()->move_temporary_files( $user_id, $files ); } }