mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- 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:
@@ -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' ) ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 );
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user