- deprecated um_before_user_upload, um_after_user_upload;

- fixed issue with deleting old unused files;
- fixed issue with deleting new file after profile upgrade;
This commit is contained in:
nikitozzzzzzz
2018-08-07 22:22:24 +03:00
parent ad8c416a7b
commit fcb8cab209
3 changed files with 17 additions and 86 deletions
+16 -5
View File
@@ -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' ) ) {
}
}
}
}
}
+1 -57
View File
@@ -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
* <?php
* add_action( 'um_before_user_upload', 'my_before_user_upload', 10, 2 );
* function my_before_user_upload( $user_id, $files ) {
* // your code here
* }
* ?>
*/
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 );
add_action( 'um_profile_menu', 'um_profile_menu', 9 );
-24
View File
@@ -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
* <?php
* add_action( 'um_before_user_upload', 'my_before_user_upload', 10, 2 );
* function my_before_user_upload( $user_id, $files ) {
* // your code here
* }
* ?>
*/
do_action( 'um_before_user_upload', $user_id, $files );
//UM()->user()->update_files( $files );
UM()->uploader()->move_temporary_files( $user_id, $files );
}
}