From 9d373c968e7d059f5d44f50ff840d786f059e71c Mon Sep 17 00:00:00 2001 From: yuriinalivaiko Date: Wed, 13 Nov 2024 00:00:24 +0200 Subject: [PATCH] - fixed incorrect usage of the um_fetch_user function --- includes/core/class-roles-capabilities.php | 9 +++++++-- includes/core/um-filters-avatars.php | 9 ++++++++- includes/um-short-functions.php | 8 +++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/includes/core/class-roles-capabilities.php b/includes/core/class-roles-capabilities.php index 76fda611..f7c633ac 100644 --- a/includes/core/class-roles-capabilities.php +++ b/includes/core/class-roles-capabilities.php @@ -703,7 +703,10 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { $return = 1; - um_fetch_user( get_current_user_id() ); + if ( get_current_user_id() !== um_user( 'ID' ) ) { + $temp_id = um_user( 'ID' ); + um_fetch_user( get_current_user_id() ); + } $current_user_roles = $this->get_all_user_roles( $user_id ); @@ -744,7 +747,9 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { } - um_fetch_user( $user_id ); + if ( ! empty( $temp_id ) ) { + um_fetch_user( $temp_id ); + } return $return; } diff --git a/includes/core/um-filters-avatars.php b/includes/core/um-filters-avatars.php index 509ab9ad..e4f0cba7 100644 --- a/includes/core/um-filters-avatars.php +++ b/includes/core/um-filters-avatars.php @@ -36,10 +36,17 @@ function um_get_avatar( $avatar = '', $id_or_email='', $size = '96', $avatar_cla if ( empty( $user_id ) ) return $avatar; - um_fetch_user( $user_id ); + if ( $user_id !== um_user( 'ID' ) ) { + $temp_id = um_user( 'ID' ); + um_fetch_user( $user_id ); + } $avatar = um_user( 'profile_photo', $size ); + if ( ! empty( $temp_id ) ) { + um_fetch_user( $temp_id ); + } + return $avatar; } add_filter( 'get_avatar', 'um_get_avatar', 99999, 5 ); diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php index 51e1e287..47772ee8 100644 --- a/includes/um-short-functions.php +++ b/includes/um-short-functions.php @@ -2169,7 +2169,9 @@ function um_get_default_avatar_uri() { function um_get_user_avatar_data( $user_id = '', $size = '96' ) { if ( empty( $user_id ) ) { $user_id = um_user( 'ID' ); - } else { + } + if ( $user_id !== um_user( 'ID' ) ) { + $temp_id = um_user( 'ID' ); um_fetch_user( $user_id ); } @@ -2265,6 +2267,10 @@ function um_get_user_avatar_data( $user_id = '', $size = '96' ) { */ $data['alt'] = apply_filters( "um_avatar_image_alternate_text", um_user( "display_name" ), $data ); + if ( ! empty( $temp_id ) ) { + um_fetch_user( $temp_id ); + } + return $data; }