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 (!um_profile('profile_photo') && um_get_option('use_gravatars')) { if (is_ssl()) { $protocol = 'https://'; } else { $protocol = 'http://'; } $default = get_option('avatar_default', 'mystery'); if ($default == 'gravatar_default') { $default = ''; } $rating = get_option('avatar_rating'); if (!empty($rating)) { $rating = "&r={$rating}"; } $avatar = '<img src="' . $protocol . 'gravatar.com/avatar/' . md5(um_user('user_email')) . '?d=' . $default . '&s=' . $size . $rating . '" class="gravatar avatar avatar-' . $size . ' um-avatar" width="' . $size . '" height="' . $size . '" alt="" />'; } return $avatar; }
function show_social_urls() { global $ultimatemember; $fields = $ultimatemember->builtin->all_user_fields; foreach ($fields as $field => $args) { if (isset($args['advanced']) && $args['advanced'] == 'social') { $social[$field] = $args; } } foreach ($social as $k => $arr) { if (um_profile($k)) { ?> <a href="<?php echo um_filtered_social_link($k, $arr['match']); ?> " style="background: <?php echo $arr['color']; ?> ;" target="_blank" class="um-tip-n" title="<?php echo $arr['title']; ?> "><i class="<?php echo $arr['icon']; ?> "></i></a> <?php } } }
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; } }
function um_user($data, $attrs = null) { global $ultimatemember; switch ($data) { default: $value = um_profile($data); if ($ultimatemember->validation->is_serialized($value)) { $value = unserialize($value); } return $value; break; case 'full_name': if (!um_profile($data)) { 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_user_meta(um_user('ID'), 'full_name', $full_name); return $full_name; } else { return um_profile($data); } break; case 'display_name': $op = um_get_option('display_name'); 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 ($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 == 'public_name') { $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': 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; } }
function um_profile_header($args) { global $ultimatemember; $classes = null; if (!$args['cover_enabled']) { $classes .= ' no-cover'; } $default_size = str_replace('px', '', $args['photosize']); $overlay = '<span class="um-profile-photo-overlay"> <span class="um-profile-photo-overlay-s"> <ins> <i class="um-faicon-camera"></i> </ins> </span> </span>'; ?> <div class="um-header<?php echo $classes; ?> "> <?php do_action('um_pre_header_editprofile', $args); ?> <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?> "> <a href="<?php echo um_user_profile_url(); ?> " class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?> "><?php echo $overlay . get_avatar(um_user('ID'), $default_size); ?> </a> <?php if (!isset($ultimatemember->user->cannot_edit)) { $ultimatemember->fields->add_hidden_field('profile_photo'); if (!um_profile('profile_photo')) { // has profile photo $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Upload photo', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Cancel', 'ultimatemember') . '</a>'); $items = apply_filters('um_user_photo_menu_view', $items); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } else { if ($ultimatemember->fields->editing == true) { $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Change photo', 'ultimatemember') . '</a>', '<a href="#" class="um-reset-profile-photo" data-user_id="' . um_profile_id() . '" data-default_src="' . um_get_default_avatar_uri() . '">' . __('Remove photo', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Cancel', 'ultimatemember') . '</a>'); $items = apply_filters('um_user_photo_menu_edit', $items); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } } } ?> </div> <div class="um-profile-meta"> <div class="um-main-meta"> <?php if ($args['show_name']) { ?> <div class="um-name"> <a href="<?php echo um_user_profile_url(); ?> " title="<?php echo um_user('display_name'); ?> "><?php echo um_user('display_name', 'html'); ?> </a> <?php do_action('um_after_profile_name_inline', $args); ?> </div> <?php } ?> <div class="um-clear"></div> <?php do_action('um_after_profile_header_name_args', $args); ?> <?php do_action('um_after_profile_header_name'); ?> </div> <?php if (isset($args['metafields']) && !empty($args['metafields'])) { ?> <div class="um-meta"> <?php echo $ultimatemember->profile->show_meta($args['metafields']); ?> </div> <?php } ?> <?php if ($ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio']) { ?> <div class="um-meta-text"> <?php $description = get_user_meta(um_user('ID'), 'description', true); if (um_get_option('profile_show_html_bio')) { ?> <?php echo make_clickable(wpautop(wp_kses_post($description))); ?> <?php } else { ?> <?php echo esc_html($description); ?> <?php } ?> </div> <?php } else { if ($ultimatemember->fields->editing == true && $args['show_bio']) { ?> <div class="um-meta-text"> <textarea id="um-meta-bio" data-character-limit="<?php echo um_get_option('profile_bio_maxchars'); ?> " placeholder="<?php _e('Tell us a bit about yourself...', 'ultimatemember'); ?> " name="<?php echo 'description-' . $args['form_id']; ?> " id="<?php echo 'description-' . $args['form_id']; ?> "><?php if (um_user('description')) { echo um_user('description'); } ?> </textarea> <span class="um-meta-bio-character um-right"><span class="um-bio-limit"><?php echo um_get_option('profile_bio_maxchars'); ?> </span></span> <?php if ($ultimatemember->fields->is_error('description')) { echo $ultimatemember->fields->field_error($ultimatemember->fields->show_error('description'), true); } ?> </div> <?php } } ?> <div class="um-profile-status <?php echo um_user('account_status'); ?> "> <span><?php printf(__('This user account status is %s', 'ultimatemember'), um_user('account_status_name')); ?> </span> </div> <?php do_action('um_after_header_meta', um_user('ID'), $args); ?> </div><div class="um-clear"></div> <?php if ($ultimatemember->fields->is_error('profile_photo')) { echo $ultimatemember->fields->field_error($ultimatemember->fields->show_error('profile_photo'), 'force_show'); } ?> <?php do_action('um_after_header_info', um_user('ID'), $args); ?> </div> <?php }
/** * Process Get user API Request */ public function get_auser($args) { global $ultimatemember; extract($args); $response = array(); $error = array(); if (!isset($id)) { $error['error'] = __('You must provide a user ID', 'ultimatemember'); return $error; } $user = get_userdata($id); if (!$user) { $error['error'] = __('Invalid user specified', 'ultimatemember'); return $error; } unset($user->data->user_status); unset($user->data->user_activation_key); unset($user->data->user_pass); um_fetch_user($user->ID); if (isset($fields) && $fields) { $fields = explode(',', $fields); $response['ID'] = $user->ID; $response['username'] = $user->user_login; foreach ($fields as $field) { switch ($field) { default: $response[$field] = um_profile($field) ? um_profile($field) : ''; break; case 'mycred_points': $response['mycred_points'] = number_format((int) get_user_meta($user->ID, 'mycred_default', true), 2); break; case 'cover_photo': $response['cover_photo'] = $this->getsrc(um_user('cover_photo', 1000)); break; case 'profile_pic': $response['profile_pic_original'] = $this->getsrc(um_user('profile_photo', 'original')); $response['profile_pic_normal'] = $this->getsrc(um_user('profile_photo', 200)); $response['profile_pic_small'] = $this->getsrc(um_user('profile_photo', 40)); break; case 'status': $response['status'] = um_user('account_status'); break; case 'role': $response['role'] = um_user('role'); break; case 'email': case 'user_email': $response['email'] = um_user('user_email'); break; case 'followers': if (class_exists('UM_Followers_API')) { global $um_followers; $response['followers_count'] = $um_followers->api->count_followers_plain($user->ID); $response['following_count'] = $um_followers->api->count_following_plain($user->ID); } break; } } } else { foreach ($user as $key => $val) { if ($key != 'data') { continue; } if ($key == 'data') { $key = 'profile'; $val->roles = $user->roles; $val->first_name = um_user('first_name'); $val->last_name = um_user('last_name'); $val->community_role = um_user('role'); $val->account_status = um_user('account_status'); $val->profile_pic_original = $this->getsrc(um_user('profile_photo', 'original')); $val->profile_pic_normal = $this->getsrc(um_user('profile_photo', 200)); $val->profile_pic_small = $this->getsrc(um_user('profile_photo', 40)); $val->cover_photo = $this->getsrc(um_user('cover_photo', 1000)); if (class_exists('UM_Followers_API')) { global $um_followers; $val->followers_count = $um_followers->api->count_followers_plain($user->ID); $val->following_count = $um_followers->api->count_following_plain($user->ID); } } $response = $val; } } return $response; }
function um_submit_form_errors_hook_($args) { global $ultimatemember; $form_id = $args['form_id']; $mode = $args['mode']; $fields = unserialize($args['custom_fields']); $um_profile_photo = um_profile('profile_photo'); if (get_post_meta($form_id, '_um_profile_photo_required', true) && (empty($args['profile_photo']) && empty($um_profile_photo))) { $ultimatemember->form->add_error('profile_photo', sprintf(__('%s is required.', 'ultimatemember'), 'Profile Photo')); } if (isset($fields) && !empty($fields)) { foreach ($fields as $key => $array) { $array = apply_filters('um_get_custom_field_array', $array, $fields); if (isset($array['type']) && $array['type'] == 'checkbox' && isset($array['required']) && $array['required'] == 1 && !isset($args[$key])) { $ultimatemember->form->add_error($key, sprintf(__('%s is required.', 'ultimatemember'), $array['title'])); } if (defined('um_user_tags_path') && isset($array['type']) && $array['type'] == 'user_tags' && isset($array['required']) && $array['required'] == 1 && !isset($args[$key])) { $ultimatemember->form->add_error($key, sprintf(__('%s is required.', 'ultimatemember'), $array['title'])); } if (isset($array['type']) && $array['type'] == 'radio' && isset($array['required']) && $array['required'] == 1 && !isset($args[$key]) && !in_array($key, array('role_radio', 'role_select'))) { $ultimatemember->form->add_error($key, sprintf(__('%s is required.', 'ultimatemember'), $array['title'])); } if (isset($array['type']) && $array['type'] == 'multiselect' && isset($array['required']) && $array['required'] == 1 && !isset($args[$key]) && !in_array($key, array('role_radio', 'role_select'))) { $ultimatemember->form->add_error($key, sprintf(__('%s is required.', 'ultimatemember'), $array['title'])); } if ($key == 'role_select' || $key == 'role_radio') { if (isset($array['required']) && $array['required'] == 1 && (!isset($args['role']) || empty($args['role']))) { $ultimatemember->form->add_error('role', __('Please specify account type.', 'ultimatemember')); } } if (isset($args[$key])) { if (isset($array['required']) && $array['required'] == 1) { if (!isset($args[$key]) || $args[$key] == '') { $ultimatemember->form->add_error($key, sprintf(__('%s is required', 'ultimatemember'), $array['label'])); } } if (isset($array['max_words']) && $array['max_words'] > 0) { if (str_word_count($args[$key]) > $array['max_words']) { $ultimatemember->form->add_error($key, sprintf(__('You are only allowed to enter a maximum of %s words', 'ultimatemember'), $array['max_words'])); } } if (isset($array['min_chars']) && $array['min_chars'] > 0) { if ($args[$key] && strlen(utf8_decode($args[$key])) < $array['min_chars']) { $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain at least %s characters', 'ultimatemember'), $array['label'], $array['min_chars'])); } } if (isset($array['max_chars']) && $array['max_chars'] > 0) { if ($args[$key] && strlen(utf8_decode($args[$key])) > $array['max_chars']) { $ultimatemember->form->add_error($key, sprintf(__('Your %s must contain less than %s characters', 'ultimatemember'), $array['label'], $array['max_chars'])); } } $profile_show_html_bio = um_get_option('profile_show_html_bio'); if ($profile_show_html_bio == 1 && $key !== "description") { if (isset($array['html']) && $array['html'] == 0) { if (wp_strip_all_tags($args[$key]) != trim($args[$key])) { $ultimatemember->form->add_error($key, __('You can not use HTML tags here', 'ultimatemember')); } } } if (isset($array['force_good_pass']) && $array['force_good_pass'] == 1) { if (!$ultimatemember->validation->strong_pass($args[$key])) { $ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number', 'ultimatemember')); } } if (isset($array['force_confirm_pass']) && $array['force_confirm_pass'] == 1) { if ($args['confirm_' . $key] == '' && !$ultimatemember->form->has_error($key)) { $ultimatemember->form->add_error('confirm_' . $key, __('Please confirm your password', 'ultimatemember')); } if ($args['confirm_' . $key] != $args[$key] && !$ultimatemember->form->has_error($key)) { $ultimatemember->form->add_error('confirm_' . $key, __('Your passwords do not match', 'ultimatemember')); } } if (isset($array['min_selections']) && $array['min_selections'] > 0) { if (!isset($args[$key]) || isset($args[$key]) && is_array($args[$key]) && count($args[$key]) < $array['min_selections']) { $ultimatemember->form->add_error($key, sprintf(__('Please select at least %s choices', 'ultimatemember'), $array['min_selections'])); } } if (isset($array['max_selections']) && $array['max_selections'] > 0) { if (isset($args[$key]) && is_array($args[$key]) && count($args[$key]) > $array['max_selections']) { $ultimatemember->form->add_error($key, sprintf(__('You can only select up to %s choices', 'ultimatemember'), $array['max_selections'])); } } if (isset($array['validate']) && !empty($array['validate'])) { switch ($array['validate']) { case 'custom': $custom = $array['custom_validate']; do_action("um_custom_field_validation_{$custom}", $key, $array, $args); break; case 'numeric': if ($args[$key] && !is_numeric($args[$key])) { $ultimatemember->form->add_error($key, __('Please enter numbers only in this field', 'ultimatemember')); } break; case 'phone_number': if (!$ultimatemember->validation->is_phone_number($args[$key])) { $ultimatemember->form->add_error($key, __('Please enter a valid phone number', 'ultimatemember')); } break; case 'youtube_url': if (!$ultimatemember->validation->is_url($args[$key], 'youtube.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'soundcloud_url': if (!$ultimatemember->validation->is_url($args[$key], 'soundcloud.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'facebook_url': if (!$ultimatemember->validation->is_url($args[$key], 'facebook.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'twitter_url': if (!$ultimatemember->validation->is_url($args[$key], 'twitter.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'instagram_url': if (!$ultimatemember->validation->is_url($args[$key], 'instagram.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'google_url': if (!$ultimatemember->validation->is_url($args[$key], 'plus.google.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'linkedin_url': if (!$ultimatemember->validation->is_url($args[$key], 'linkedin.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'vk_url': if (!$ultimatemember->validation->is_url($args[$key], 'vk.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'url': if (!$ultimatemember->validation->is_url($args[$key])) { $ultimatemember->form->add_error($key, __('Please enter a valid URL', 'ultimatemember')); } break; case 'skype': if (!$ultimatemember->validation->is_url($args[$key], 'skype.com')) { $ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL', 'ultimatemember'), $array['label'])); } break; case 'unique_username': if ($args[$key] == '') { $ultimatemember->form->add_error($key, __('You must provide a username', 'ultimatemember')); } else { if ($mode == 'register' && username_exists(sanitize_user($args[$key]))) { $ultimatemember->form->add_error($key, __('Your username is already taken', 'ultimatemember')); } else { if (is_email($args[$key])) { $ultimatemember->form->add_error($key, __('Username cannot be an email', 'ultimatemember')); } else { if (!$ultimatemember->validation->safe_username($args[$key])) { $ultimatemember->form->add_error($key, __('Your username contains invalid characters', 'ultimatemember')); } } } } break; case 'unique_username_or_email': if ($args[$key] == '') { $ultimatemember->form->add_error($key, __('You must provide a username', 'ultimatemember')); } else { if ($mode == 'register' && username_exists(sanitize_user($args[$key]))) { $ultimatemember->form->add_error($key, __('Your username is already taken', 'ultimatemember')); } else { if ($mode == 'register' && email_exists($args[$key])) { $ultimatemember->form->add_error($key, __('This email is already linked to an existing account', 'ultimatemember')); } else { if (!$ultimatemember->validation->safe_username($args[$key])) { $ultimatemember->form->add_error($key, __('Your username contains invalid characters', 'ultimatemember')); } } } } break; case 'unique_email': if (in_array($key, array('user_email'))) { if ($args[$key] == '' && in_array($key, array('user_email'))) { $ultimatemember->form->add_error($key, __('You must provide your email', 'ultimatemember')); } else { if (in_array($mode, array('register')) && email_exists($args[$key])) { $ultimatemember->form->add_error($key, __('This email is already linked to an existing account', 'ultimatemember')); } else { if (in_array($mode, array('profile')) && email_exists($args[$key]) != $args['user_id']) { $ultimatemember->form->add_error($key, __('This email is already linked to an existing account', 'ultimatemember')); } else { if (!is_email($args[$key])) { $ultimatemember->form->add_error($key, __('This is not a valid email', 'ultimatemember')); } else { if (!$ultimatemember->validation->safe_username($args[$key])) { $ultimatemember->form->add_error($key, __('Your email contains invalid characters', 'ultimatemember')); } } } } } } else { if ($args[$key] != '' && !is_email($args[$key])) { $ultimatemember->form->add_error($key, __('This is not a valid email', 'ultimatemember')); } else { if ($args[$key] != '' && email_exists($args[$key])) { $ultimatemember->form->add_error($key, __('This email is already linked to an existing account', 'ultimatemember')); } else { if ($args[$key] != '') { $users = get_users('meta_value=' . $args[$key]); foreach ($users as $user) { if ($user->ID != $args['user_id']) { $ultimatemember->form->add_error($key, __('This email is already linked to an existing account', 'ultimatemember')); } } } } } } break; case 'unique_value': if ($args[$key] != '') { $args_unique_meta = array('meta_key' => $key, 'meta_value' => $args[$key], 'compare' => '=', 'exclude' => array($args['user_id'])); $meta_key_exists = get_users($args_unique_meta); if ($meta_key_exists) { $ultimatemember->form->add_error($key, __('You must provide a unique value', 'ultimatemember')); } } break; case 'alphabetic': if ($args[$key] != '') { if (!ctype_alpha(str_replace(' ', '', $args[$key]))) { $ultimatemember->form->add_error($key, __('You must provide alphabetic letters', 'ultimatemember')); } } break; case 'lowercase': if ($args[$key] != '') { if (!ctype_lower(str_replace(' ', '', $args[$key]))) { $ultimatemember->form->add_error($key, __('You must provide lowercase letters.', 'ultimatemember')); } } break; } } } if (isset($args['description'])) { $max_chars = um_get_option('profile_bio_maxchars'); if (strlen(utf8_decode($args['description'])) > $max_chars && $max_chars) { $ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters', 'ultimatemember'), $max_chars)); } } } // end if ( isset in args array ) } }
function um_profile_header($args) { global $ultimatemember; $classes = null; if (!$args['cover_enabled']) { $classes .= ' no-cover'; } $default_size = str_replace('px', '', $args['photosize']); $overlay = '<span class="um-profile-photo-overlay"> <span class="um-profile-photo-overlay-s"> <ins> <i class="um-faicon-camera"></i> </ins> </span> </span>'; ?> <div class="um-header<?php echo $classes; ?> "> <?php do_action('um_pre_header_editprofile', $args); ?> <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?> "> <a href="<?php echo um_user_profile_url(); ?> " class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?> "><?php echo $overlay . get_avatar(um_user('ID'), $default_size); ?> </a> <?php if (!isset($ultimatemember->user->cannot_edit)) { $ultimatemember->fields->add_hidden_field('profile_photo'); if (!um_profile('profile_photo')) { // has profile photo $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Загрузить фото', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Отменить', 'ultimatemember') . '</a>'); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } else { if ($ultimatemember->fields->editing == true) { $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Изменить фотографию', 'ultimatemember') . '</a>', '<a href="#" class="um-reset-profile-photo" data-user_id="' . um_profile_id() . '" data-default_src="' . um_get_default_avatar_uri() . '">' . __('Удалить фото', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Отменить', 'ultimatemember') . '</a>'); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } } } ?> </div> <div class="um-profile-meta"> <div class="um-main-meta"> <?php if ($args['show_name']) { ?> <div class="um-name"> <a href="<?php echo um_user_profile_url(); ?> " title="<?php echo um_user('display_name'); ?> "><?php echo um_user('display_name', 'html'); ?> </a> <?php do_action('um_after_profile_name_inline', $args); ?> </div> <?php } ?> <div class="um-clear"></div> <?php do_action('um_after_profile_header_name_args', $args); ?> <?php do_action('um_after_profile_header_name'); ?> </div> <?php if (isset($args['metafields']) && !empty($args['metafields'])) { ?> <div class="um-meta"> <?php echo $ultimatemember->profile->show_meta($args['metafields']); ?> </div> <?php } ?> <?php if ($ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio']) { ?> <div class="um-meta-text"><?php echo um_filtered_value('description'); ?> </div> <?php } else { if ($ultimatemember->fields->editing == true && $args['show_bio']) { ?> <div class="um-meta-text"> <textarea placeholder="<?php _e('Расскажите нам немного о себе ...', 'ultimatemember'); ?> " name="<?php echo 'description-' . $args['form_id']; ?> " id="<?php echo 'description-' . $args['form_id']; ?> "><?php if (um_user('description')) { echo um_user('description'); } ?> </textarea> <?php if ($ultimatemember->fields->is_error('description')) { echo $ultimatemember->fields->field_error($ultimatemember->fields->show_error('description'), true); } ?> </div> <?php } } ?> <div class="um-profile-status <?php echo um_user('account_status'); ?> "> <span><?php printf(__('This user account status is %s', 'ultimatemember'), um_user('account_status_name')); ?> </span> </div> <?php do_action('um_after_header_meta', um_user('ID'), $args); ?> </div><div class="um-clear"></div> <?php do_action('um_after_header_info', um_user('ID'), $args); ?> </div> <?php }
function custom_um_profile_header($args) { global $ultimatemember; $user_id = get_current_user_id(); $userrole = get_user_meta($user_id, 'role', true); $classes = null; if (!$args['cover_enabled']) { $classes .= ' no-cover'; } $default_size = str_replace('px', '', $args['photosize']); $overlay = '<span class="um-profile-photo-overlay"> <span class="um-profile-photo-overlay-s"> <ins> <i class="um-faicon-camera"></i> </ins> </span> </span>'; ?> <div class="um-header<?php echo $classes; ?> "> <?php do_action('um_pre_header_editprofile', $args); ?> <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?> "> <a href="<?php echo um_user_profile_url(); ?> " class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?> "><?php echo $overlay . get_avatar(um_user('ID'), $default_size); ?> </a> <?php if (!isset($ultimatemember->user->cannot_edit)) { $ultimatemember->fields->add_hidden_field('profile_photo'); if (!um_profile('profile_photo')) { // has profile photo $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Upload photo', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Cancel', 'ultimatemember') . '</a>'); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } else { if ($ultimatemember->fields->editing == true) { $items = array('<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __('Change photo', 'ultimatemember') . '</a>', '<a href="#" class="um-reset-profile-photo" data-user_id="' . um_profile_id() . '" data-default_src="' . um_get_default_avatar_uri() . '">' . __('Remove photo', 'ultimatemember') . '</a>', '<a href="#" class="um-dropdown-hide">' . __('Cancel', 'ultimatemember') . '</a>'); echo $ultimatemember->menu->new_ui('bc', 'div.um-profile-photo', 'click', $items); } } } ?> </div> <div class="um-profile-meta"> <div class="um-main-meta"> <?php if ($args['show_name']) { ?> <div class="um-name"> <a href="<?php echo um_user_profile_url(); ?> " title="<?php echo um_user('display_name'); ?> "><?php echo um_user('display_name'); ?> </a> <?php do_action('um_after_profile_name_inline', $args); ?> <?php if ($ultimatemember->fields->editing == true) { ?> <?php if ($userrole == 'advisee') { ?> <a href="javascript:void(0);" class="hb-button" id="um-upgrade">Upgrade to become an Advisor</a> <?php } ?> <?php } ?> </div> <?php } ?> <div class="um-clear"></div> <?php do_action('um_after_profile_header_name_args', $args); ?> <?php do_action('um_after_profile_header_name'); ?> </div> <?php if (isset($args['metafields']) && !empty($args['metafields'])) { ?> <div class="um-meta"> <?php echo $ultimatemember->profile->show_meta($args['metafields']); ?> </div> <?php } ?> <?php if ($ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio']) { ?> <div class="um-meta-text"><?php echo um_filtered_value('description'); ?> </div> <?php } else { if ($ultimatemember->fields->editing == true && $args['show_bio']) { ?> <div class="um-meta-text"> <textarea placeholder="<?php _e('Tell us a bit about yourself...', 'ultimatemember'); ?> " name="<?php echo 'description-' . $args['form_id']; ?> " id="<?php echo 'description-' . $args['form_id']; ?> "><?php if (um_user('description')) { echo um_user('description'); } ?> </textarea> <?php if ($ultimatemember->fields->is_error('description')) { echo $ultimatemember->fields->field_error($ultimatemember->fields->show_error('description'), true); } ?> </div> <?php } } ?> <div class="um-profile-status <?php echo um_user('account_status'); ?> "> <span><?php printf(__('This user account status is %s', 'ultimatemember'), um_user('account_status_name')); ?> </span> </div> </div><div class="um-clear"></div> </div> <?php }