diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 8d8bf0c3..f125f156 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -295,4 +295,41 @@ function um_add_register_fields($args){ echo UM()->fields()->display( 'register', $args ); + } + + + /** + * Saving files to register a new user, if there are fields with files + */ + add_action( 'um_registration_set_extra_data', 'um_registration_save_files', 10, 2 ); + function um_registration_save_files( $user_id, $args ) { + $files = array(); + + $fields = unserialize( $args['custom_fields'] ); + + // loop through fields + if ( isset( $fields ) && is_array( $fields ) ) { + + foreach ( $fields as $key => $array ) { + + 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] ) || $args['submitted'][$key] == 'empty_file' ) + ) { + + $files[$key] = $args['submitted'][$key]; + + } + } + } + } + + $files = apply_filters( 'um_user_pre_updating_files_array', $files ); + + if ( !empty( $files ) ) { + do_action( 'um_before_user_upload', $user_id, $files ); + UM()->user()->update_files( $files ); + do_action( 'um_after_user_upload', $user_id, $files ); + } } \ No newline at end of file