Skip to content

Commit

Permalink
Merge pull request #302 from adekbadek/patch-1
Browse files Browse the repository at this point in the history
fix: user meta retrieval
  • Loading branch information
faisal-alvi authored Oct 14, 2024
2 parents 1e0b945 + 946d757 commit 53b5f53
Showing 1 changed file with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions includes/class-simple-local-avatars.php
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,20 @@ public function get_user_id( $id_or_email ) {
return $user_id;
}

/**
* Get the local avatar user meta.
*
* @param int $user_id User ID.
* @return array Array with avatar data.
*/
public function get_user_local_avatar( $user_id ) {
$local_avatars = get_user_meta( $user_id, $this->user_key, true );
if ( ! is_array( $local_avatars ) || empty( $local_avatars ) ) {
return [];
}
return $local_avatars;
}

/**
* Get local avatar url.
*
Expand All @@ -343,8 +357,8 @@ public function get_simple_local_avatar_url( $id_or_email, $size ) {
}

// Fetch local avatar from meta and make sure it's properly set.
$local_avatars = get_user_meta( $user_id, $this->user_key, true );
if ( empty( $local_avatars['full'] ) ) {
$local_avatars = $this->get_user_local_avatar( $user_id );
if ( ! isset( $local_avatars['full'] ) || empty( $local_avatars['full'] ) ) {
return '';
}

Expand Down Expand Up @@ -479,8 +493,8 @@ public function get_simple_local_avatar_alt( $id_or_email ) {
}

// Fetch local avatar from meta and make sure we have a media ID.
$local_avatars = get_user_meta( $user_id, 'simple_local_avatar', true );
if ( empty( $local_avatars['media_id'] ) ) {
$local_avatars = $this->get_user_local_avatar( $user_id );
if ( ! isset( $local_avatars['media_id'] ) || empty( $local_avatars['media_id'] ) ) {
$alt = '';
// If no avatar is set, check if we are using a default avatar with alt text.
if ( 'simple_local_avatar' === get_option( 'avatar_default' ) ) {
Expand Down Expand Up @@ -1111,7 +1125,7 @@ public function edit_user_profile_update( $user_id ) {
endif;

// Handle ratings
if ( isset( $avatar_id ) || get_user_meta( $user_id, $this->user_key, true ) ) {
if ( isset( $avatar_id ) || ! empty( $this->get_user_local_avatar( $user_id ) ) ) {
if ( empty( $_POST['simple_local_avatar_rating'] ) || ! array_key_exists( $_POST['simple_local_avatar_rating'], $this->avatar_ratings ) ) {
$_POST['simple_local_avatar_rating'] = key( $this->avatar_ratings );
}
Expand Down Expand Up @@ -1181,7 +1195,7 @@ public function ajax_assign_simple_local_avatar_media() {
* @param int $user_id User ID.
*/
public function avatar_delete( $user_id ) {
$old_avatars = (array) get_user_meta( $user_id, $this->user_key, true );
$old_avatars = $this->get_user_local_avatar( $user_id );

if ( empty( $old_avatars ) ) {
return;
Expand Down Expand Up @@ -1272,7 +1286,7 @@ public function register_rest_fields() {
* @param object $user User object
*/
public function get_avatar_rest( $user ) {
$local_avatar = get_user_meta( $user['id'], $this->user_key, true );
$local_avatar = $this->get_user_local_avatar( $user['id'] );
if ( empty( $local_avatar ) ) {
return;
}
Expand Down Expand Up @@ -1397,7 +1411,7 @@ public function sla_clear_user_cache() {
if ( ! empty( $users ) ) {
foreach ( $users as $user ) {
$user_id = $user->ID;
$local_avatars = get_user_meta( $user_id, 'simple_local_avatar', true );
$local_avatars = $this->get_user_local_avatar( $user_id );
$media_id = isset( $local_avatars['media_id'] ) ? $local_avatars['media_id'] : '';
$this->clear_user_avatar_cache( $local_avatars, $user_id, $media_id );
}
Expand Down

0 comments on commit 53b5f53

Please sign in to comment.