mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
Show users with gravatar photo in member directory
This commit is contained in:
@@ -138,6 +138,11 @@
|
||||
'key' => 'profile_photo', // from upload form
|
||||
'value' => '',
|
||||
'compare' => '!='
|
||||
),
|
||||
array(
|
||||
'key' => 'synced_gravatar_hashed_id', // gravatar
|
||||
'value' => '',
|
||||
'compare' => '!='
|
||||
)
|
||||
|
||||
);
|
||||
@@ -152,6 +157,7 @@
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// show specific usernames
|
||||
if ( isset( $show_these_users ) && $show_these_users && is_array( $show_these_users ) ) {
|
||||
foreach( $show_these_users as $username ) {
|
||||
@@ -176,6 +182,7 @@
|
||||
|
||||
if ( isset( $sortby ) ) {
|
||||
|
||||
|
||||
if ( $sortby == 'other' && $sortby_custom ) {
|
||||
|
||||
$query_args['meta_key'] = $sortby_custom;
|
||||
@@ -232,3 +239,4 @@
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
+174
-149
@@ -1163,11 +1163,12 @@ function um_fetch_user( $user_id ) {
|
||||
/***
|
||||
*** @default avatar
|
||||
***/
|
||||
function um_get_default_avatar_uri() {
|
||||
function um_get_default_avatar_uri( $user_id = '' ) {
|
||||
$uri = um_get_option('default_avatar');
|
||||
$uri = $uri['url'];
|
||||
if ( !$uri )
|
||||
$uri = um_url . 'assets/img/default_avatar.jpg';
|
||||
|
||||
return $uri;
|
||||
}
|
||||
|
||||
@@ -1194,173 +1195,197 @@ function um_fetch_user( $user_id ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
function um_user( $data, $attrs = null ) {
|
||||
function um_user( $data, $attrs = null ) {
|
||||
|
||||
global $ultimatemember;
|
||||
global $ultimatemember;
|
||||
|
||||
switch($data){
|
||||
switch($data){
|
||||
|
||||
default:
|
||||
default:
|
||||
|
||||
$value = um_profile($data);
|
||||
$value = um_profile($data);
|
||||
|
||||
if ( $ultimatemember->validation->is_serialized( $value ) ) {
|
||||
$value = unserialize( $value );
|
||||
}
|
||||
|
||||
return $value;
|
||||
break;
|
||||
|
||||
case 'full_name':
|
||||
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$full_name = um_user('first_name') . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$full_name = um_user('display_name');
|
||||
}
|
||||
|
||||
$full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
|
||||
|
||||
// update full_name changed
|
||||
if( um_profile( $data ) !== $full_name )
|
||||
{
|
||||
update_user_meta( um_user('ID'), 'full_name', $full_name );
|
||||
}
|
||||
|
||||
return $full_name;
|
||||
|
||||
break;
|
||||
|
||||
case 'display_name':
|
||||
|
||||
$op = um_get_option('display_name');
|
||||
|
||||
$name = '';
|
||||
|
||||
|
||||
if ( $op == 'default' ) {
|
||||
$name = um_profile('display_name');
|
||||
}
|
||||
|
||||
if ( $op == 'nickname' ) {
|
||||
$name = um_profile('nickname');
|
||||
}
|
||||
|
||||
if ( $op == 'full_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$name = um_user('first_name') . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
if ( $ultimatemember->validation->is_serialized( $value ) ) {
|
||||
$value = unserialize( $value );
|
||||
}
|
||||
if ( ! $name ) {
|
||||
|
||||
return $value;
|
||||
break;
|
||||
|
||||
case 'full_name':
|
||||
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$full_name = um_user('first_name') . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$full_name = um_user('display_name');
|
||||
}
|
||||
|
||||
$full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
|
||||
|
||||
// update full_name changed
|
||||
if( um_profile( $data ) !== $full_name )
|
||||
{
|
||||
update_user_meta( um_user('ID'), 'full_name', $full_name );
|
||||
}
|
||||
|
||||
return $full_name;
|
||||
|
||||
break;
|
||||
|
||||
case 'display_name':
|
||||
|
||||
$op = um_get_option('display_name');
|
||||
|
||||
$name = '';
|
||||
|
||||
|
||||
if ( $op == 'default' ) {
|
||||
$name = um_profile('display_name');
|
||||
}
|
||||
|
||||
if ( $op == 'nickname' ) {
|
||||
$name = um_profile('nickname');
|
||||
}
|
||||
|
||||
if ( $op == 'full_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$name = um_user('first_name') . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
if ( ! $name ) {
|
||||
$name = um_user('user_login');
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'sur_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$name = um_user('last_name') . ' ' . um_user('first_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'first_name' ) {
|
||||
if ( um_user('first_name') ) {
|
||||
$name = um_user('first_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'username' ) {
|
||||
$name = um_user('user_login');
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'sur_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$name = um_user('last_name') . ' ' . um_user('first_name');
|
||||
if ( $op == 'initial_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$initial = um_user('last_name');
|
||||
$name = um_user('first_name') . ' ' . $initial[0];
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'initial_name_f' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$initial = um_user('first_name');
|
||||
$name = $initial[0] . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
|
||||
$fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
|
||||
$name = '';
|
||||
foreach( $fields as $field ) {
|
||||
$name .= um_profile( $field ) . ' ';
|
||||
}
|
||||
}
|
||||
|
||||
return apply_filters('um_user_display_name_filter', $name, um_user('ID'), ( $attrs == 'html' ) ? 1 : 0 );
|
||||
|
||||
break;
|
||||
|
||||
case 'role_select':
|
||||
case 'role_radio':
|
||||
return $ultimatemember->user->get_role_name( um_user('role') );
|
||||
break;
|
||||
|
||||
case 'submitted':
|
||||
$array = um_profile($data);
|
||||
if ( empty( $array ) ) return '';
|
||||
$array = unserialize( $array );
|
||||
return $array;
|
||||
break;
|
||||
|
||||
case 'password_reset_link':
|
||||
return $ultimatemember->password->reset_url();
|
||||
break;
|
||||
|
||||
case 'account_activation_link':
|
||||
return $ultimatemember->permalinks->activate_url();
|
||||
break;
|
||||
|
||||
case 'profile_photo':
|
||||
|
||||
$has_profile_photo = false;
|
||||
|
||||
if ( um_profile('profile_photo') ) {
|
||||
$avatar_uri = um_get_avatar_uri( um_profile('profile_photo'), $attrs );
|
||||
$has_profile_photo = true;
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
$avatar_uri = um_get_default_avatar_uri( um_user('ID') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'first_name' ) {
|
||||
if ( um_user('first_name') ) {
|
||||
$name = um_user('first_name');
|
||||
$avatar_uri = apply_filters('um_user_avatar_url_filter', $avatar_uri, um_user('ID') );
|
||||
|
||||
if ( $avatar_uri )
|
||||
|
||||
if( um_get_option('use_gravatars') && ! um_user('synced_profile_photo') && ! $has_profile_photo ){
|
||||
$avatar_uri = um_get_domain_protocol().'gravatar.com/avatar/'.um_user('synced_gravatar_hashed_id');
|
||||
$avatar_uri = add_query_arg('s',400, $avatar_uri);
|
||||
}
|
||||
|
||||
return '<img src="' . $avatar_uri . '" class="func-um_user gravatar avatar avatar-'.$attrs.' um-avatar" width="'.$attrs.'" height="'.$attrs.'" alt="" />';
|
||||
|
||||
if ( !$avatar_uri )
|
||||
return '';
|
||||
|
||||
break;
|
||||
|
||||
case 'cover_photo':
|
||||
if ( um_profile('cover_photo') ) {
|
||||
$cover_uri = um_get_cover_uri( um_profile('cover_photo'), $attrs );
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
$cover_uri = um_get_default_cover_uri();
|
||||
}
|
||||
}
|
||||
|
||||
if ( $op == 'username' ) {
|
||||
$name = um_user('user_login');
|
||||
}
|
||||
if ( $cover_uri )
|
||||
return '<img src="'. $cover_uri .'" alt="" />';
|
||||
|
||||
if ( $op == 'initial_name' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$initial = um_user('last_name');
|
||||
$name = um_user('first_name') . ' ' . $initial[0];
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
if ( !$cover_uri )
|
||||
return '';
|
||||
|
||||
if ( $op == 'initial_name_f' ) {
|
||||
if ( um_user('first_name') && um_user('last_name') ) {
|
||||
$initial = um_user('first_name');
|
||||
$name = $initial[0] . ' ' . um_user('last_name');
|
||||
} else {
|
||||
$name = um_profile( $data );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
|
||||
$fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
|
||||
$name = '';
|
||||
foreach( $fields as $field ) {
|
||||
$name .= um_profile( $field ) . ' ';
|
||||
}
|
||||
}
|
||||
|
||||
return apply_filters('um_user_display_name_filter', $name, um_user('ID'), ( $attrs == 'html' ) ? 1 : 0 );
|
||||
|
||||
break;
|
||||
|
||||
case 'role_select':
|
||||
case 'role_radio':
|
||||
return $ultimatemember->user->get_role_name( um_user('role') );
|
||||
break;
|
||||
|
||||
case 'submitted':
|
||||
$array = um_profile($data);
|
||||
if ( empty( $array ) ) return '';
|
||||
$array = unserialize( $array );
|
||||
return $array;
|
||||
break;
|
||||
|
||||
case 'password_reset_link':
|
||||
return $ultimatemember->password->reset_url();
|
||||
break;
|
||||
|
||||
case 'account_activation_link':
|
||||
return $ultimatemember->permalinks->activate_url();
|
||||
break;
|
||||
|
||||
case 'profile_photo':
|
||||
|
||||
if ( um_profile('profile_photo') ) {
|
||||
$avatar_uri = um_get_avatar_uri( um_profile('profile_photo'), $attrs );
|
||||
} else {
|
||||
$avatar_uri = um_get_default_avatar_uri();
|
||||
}
|
||||
|
||||
$avatar_uri = apply_filters('um_user_avatar_url_filter', $avatar_uri, um_user('ID') );
|
||||
|
||||
if ( $avatar_uri )
|
||||
return '<img src="' . $avatar_uri . '" class="gravatar avatar avatar-'.$attrs.' um-avatar" width="'.$attrs.'" height="'.$attrs.'" alt="" />';
|
||||
|
||||
if ( !$avatar_uri )
|
||||
return '';
|
||||
|
||||
break;
|
||||
|
||||
case 'cover_photo':
|
||||
if ( um_profile('cover_photo') ) {
|
||||
$cover_uri = um_get_cover_uri( um_profile('cover_photo'), $attrs );
|
||||
} else {
|
||||
$cover_uri = um_get_default_cover_uri();
|
||||
}
|
||||
|
||||
if ( $cover_uri )
|
||||
return '<img src="'. $cover_uri .'" alt="" />';
|
||||
|
||||
if ( !$cover_uri )
|
||||
return '';
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* Get server protocol
|
||||
* @return string
|
||||
*/
|
||||
function um_get_domain_protocol(){
|
||||
|
||||
if ( is_ssl() ) {
|
||||
$protocol = 'https://';
|
||||
} else {
|
||||
$protocol = 'http://';
|
||||
}
|
||||
|
||||
return $protocol;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user