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 . '&amp;s=' . $size . $rating . '" class="gravatar avatar avatar-' . $size . ' um-avatar" width="' . $size . '" height="' . $size . '" alt="" />';
    }
    return $avatar;
}
예제 #2
0
    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 
            }
        }
    }
예제 #3
0
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;
    }
}
예제 #4
0
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 
}
예제 #6
0
파일: um-api.php 프로젝트: Makenrro/repos
 /**
  * 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 )
    }
}
예제 #8
0
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 
}
예제 #9
0
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 
}