mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-15 20:53:39 +09:00
Fix file clean up with image/file fields on profile update
This commit is contained in:
@@ -144,7 +144,7 @@ jQuery(document).ready(function() {
|
||||
parent.find('.um-single-image-preview img').attr('src','');
|
||||
parent.find('.um-single-image-preview').hide();
|
||||
parent.find('.um-btn-auto-width').html('Upload');
|
||||
parent.find('input[type=hidden]').val('');
|
||||
parent.find('input[type=hidden]').val('empty_file');
|
||||
|
||||
jQuery.ajax({
|
||||
url: um_scripts.ajaxurl,
|
||||
@@ -164,7 +164,7 @@ jQuery(document).ready(function() {
|
||||
var src = jQuery(this).parents('.um-field').find('.um-single-fileinfo a').attr('href');
|
||||
parent.find('.um-single-file-preview').hide();
|
||||
parent.find('.um-btn-auto-width').html('Upload');
|
||||
parent.find('input[type=hidden]').val('');
|
||||
parent.find('input[type=hidden]').val('empty_file');
|
||||
|
||||
jQuery.ajax({
|
||||
url: um_scripts.ajaxurl,
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -77,7 +77,8 @@
|
||||
|
||||
if ( isset( $args['submitted'][ $key ] ) ) {
|
||||
|
||||
if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) {
|
||||
if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) &&
|
||||
( um_is_temp_upload( $args['submitted'][ $key ] ) || $args['submitted'][ $key ] == 'empty_file' ) ) {
|
||||
|
||||
$files[ $key ] = $args['submitted'][ $key ];
|
||||
|
||||
@@ -116,6 +117,7 @@
|
||||
$files = apply_filters('um_user_pre_updating_files_array', $files);
|
||||
|
||||
if ( is_array( $files ) ) {
|
||||
do_action('um_before_user_upload', um_user('ID'), $files );
|
||||
$ultimatemember->user->update_files( $files );
|
||||
do_action('um_after_user_upload', um_user('ID'), $files );
|
||||
}
|
||||
@@ -705,3 +707,29 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean up file for new uploaded files
|
||||
* @param integer $user_id
|
||||
* @param array $arr_files
|
||||
*/
|
||||
add_action("um_before_user_upload","um_before_user_upload", 10 ,2 );
|
||||
function um_before_user_upload( $user_id, $arr_files ){
|
||||
global $ultimatemember;
|
||||
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
foreach ($arr_files as $key => $filename ) {
|
||||
if( um_user( $key ) ){
|
||||
if( basename( $filename ) != basename( um_user( $key ) ) || in_array( $old_filename , array( basename( um_user( $key ) ), basename( $filename ) ) ) || $filename == 'empty_file' ){
|
||||
$old_filename = um_user( $key );
|
||||
$path = $ultimatemember->files->upload_basedir;
|
||||
delete_user_meta( $user_id, $old_filename );
|
||||
if ( file_exists( $path . $user_id . '/' . $old_filename ) ) {
|
||||
unlink( $path . $user_id . '/' . $old_filename );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user