function um_get_avatar($avatar = '', $id_or_email = '', $size = '96', $avatar_class = '', $default = '', $alt = '') { if (is_numeric($id_or_email)) { $user_id = (int) $id_or_email; } elseif (is_string($id_or_email) && ($user = get_user_by('email', $id_or_email))) { $user_id = $user->ID; } elseif (is_object($id_or_email) && !empty($id_or_email->user_id)) { $user_id = (int) $id_or_email->user_id; } if (empty($user_id)) { return $avatar; } um_fetch_user($user_id); $avatar = um_user('profile_photo', $size); if (!$avatar && um_get_option('use_gravatars')) { $default = get_option('avatar_default', 'mystery'); if ($default == 'gravatar_default') { $default = ''; } $rating = get_option('avatar_rating'); if (!empty($rating)) { $rating = "&r={$rating}"; } $avatar_url = um_get_domain_protocol() . 'gravatar.com/avatar/' . um_user('synced_gravatar_hashed_id'); $avatar = '<img src="' . $avatar_url . '?d=' . $default . '&s=' . $size . $rating . '" class="func-um_get_avatar gravatar avatar avatar-' . $size . ' um-avatar" width="' . $size . '" height="' . $size . '" alt="" />'; } else { if (empty($avatar)) { $default_avatar_uri = um_get_default_avatar_uri(); $avatar = '<img src="' . $default_avatar_uri . '" class="gravatar avatar avatar-' . $size . ' um-avatar" width="' . $size . '" height="' . $size . '" alt="" />'; } } return $avatar; }
function um_user($data, $attrs = null) { global $ultimatemember; switch ($data) { default: $value = um_profile($data); if ($ultimatemember->validation->is_serialized($value)) { $value = unserialize($value); } if ($data == 'role') { return strtolower($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 (!$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 == '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 { $avatar_uri = um_get_default_avatar_uri(um_user('ID')); } $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); if (um_get_option('use_um_gravatar_default_image')) { $avatar_uri = add_query_arg('d', um_get_default_avatar_uri(), $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 { $cover_uri = um_get_default_cover_uri(); } if ($cover_uri) { return '<img src="' . $cover_uri . '" alt="" />'; } if (!$cover_uri) { return ''; } break; } }