Пример #1
0
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 . '&amp;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_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 = "&amp;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;
}
Пример #3
0
function um_submit_form_errors_hook_logincheck($args)
{
    global $ultimatemember;
    // Logout if logged in
    if (is_user_logged_in()) {
        wp_logout();
    }
    $user_id = isset($ultimatemember->login->auth_id) ? $ultimatemember->login->auth_id : '';
    um_fetch_user($user_id);
    $status = um_user('account_status');
    // account status
    switch ($status) {
        // If user can't login to site...
        case 'inactive':
        case 'awaiting_admin_review':
        case 'awaiting_email_confirmation':
        case 'rejected':
            um_reset_user();
            exit(wp_redirect(add_query_arg('err', esc_attr($status), $ultimatemember->permalinks->get_current_url())));
            break;
    }
    if (isset($args['form_id']) && $args['form_id'] == $ultimatemember->shortcodes->core_login_form() && $ultimatemember->form->errors && !isset($_POST[$ultimatemember->honeypot])) {
        exit(wp_redirect(um_get_core_page('login')));
    }
}
Пример #4
0
function um_after_changing_user_password($user_id)
{
    global $ultimatemember;
    um_fetch_user($user_id);
    $ultimatemember->mail->send(um_user('user_email'), 'changedpw_email');
    um_reset_user();
}
Пример #5
0
function um_admin_user_actions_hook($actions)
{
    $actions = null;
    if (!um_user('super_admin')) {
        if (um_user('account_status') == 'awaiting_admin_review') {
            $actions['um_approve_membership'] = array('label' => __('Approve Membership', 'ultimatemember'));
            $actions['um_reject_membership'] = array('label' => __('Reject Membership', 'ultimatemember'));
        }
        if (um_user('account_status') == 'rejected') {
            $actions['um_approve_membership'] = array('label' => __('Approve Membership', 'ultimatemember'));
        }
        if (um_user('account_status') == 'approved') {
            $actions['um_put_as_pending'] = array('label' => __('Put as Pending Review', 'ultimatemember'));
        }
        if (um_user('account_status') == 'awaiting_email_confirmation') {
            $actions['um_resend_activation'] = array('label' => __('Resend Activation E-mail', 'ultimatemember'));
        }
        if (um_user('account_status') != 'inactive') {
            $actions['um_deactivate'] = array('label' => __('Deactivate this account', 'ultimatemember'));
        }
        if (um_user('account_status') == 'inactive') {
            $actions['um_reenable'] = array('label' => __('Reactivate this account', 'ultimatemember'));
        }
        if (um_current_user_can('delete', um_profile_id())) {
            $actions['um_delete'] = array('label' => __('Delete this user', 'ultimatemember'));
        }
    }
    if (current_user_can('delete_users')) {
        $actions['um_switch_user'] = array('label' => __('Login as this user', 'ultimatemember'));
    }
    um_fetch_user(um_profile_id());
    return $actions;
}
Пример #6
0
function um_admin_user_actions_hook($actions)
{
    $actions = null;
    if (!um_user('super_admin')) {
        if (um_user('account_status') == 'awaiting_admin_review') {
            $actions['um_approve_membership'] = array('label' => __('Утвердить Пользователя', 'ultimatemember'));
            $actions['um_reject_membership'] = array('label' => __('Отклонить Пользователя', 'ultimatemember'));
        }
        if (um_user('account_status') == 'rejected') {
            $actions['um_approve_membership'] = array('label' => __('Одобрить Пользователя', 'ultimatemember'));
        }
        if (um_user('account_status') == 'approved') {
            $actions['um_put_as_pending'] = array('label' => __('Положите в ожидании пересмотра', 'ultimatemember'));
        }
        if (um_user('account_status') == 'awaiting_email_confirmation') {
            $actions['um_resend_activation'] = array('label' => __('Отправить повторно письмо для активации', 'ultimatemember'));
        }
        if (um_user('account_status') != 'inactive') {
            $actions['um_deactivate'] = array('label' => __('Отключить эту учетную запись', 'ultimatemember'));
        }
        if (um_user('account_status') == 'inactive') {
            $actions['um_reenable'] = array('label' => __('Активируйте эту учетную запись', 'ultimatemember'));
        }
        if (um_current_user_can('delete', um_profile_id())) {
            $actions['um_delete'] = array('label' => __('Удалить этого пользователя', 'ultimatemember'));
        }
    }
    if (current_user_can('delete_users')) {
        $actions['um_switch_user'] = array('label' => __('Войдите в систему как этот пользователь', 'ultimatemember'));
    }
    um_fetch_user(um_profile_id());
    return $actions;
}
Пример #7
0
 function redirect_author_page()
 {
     if (um_get_option('author_redirect') && is_author()) {
         $id = get_query_var('author');
         um_fetch_user($id);
         exit(wp_redirect(um_user_profile_url()));
     }
 }
Пример #8
0
/**
 * Overrides password changed notification
 * 
 */
function um_send_password_change_email($args)
{
    global $ultimatemember;
    um_fetch_user($user_id);
    $ultimatemember->user->password_changed();
    um_reset_user();
    return false;
}
Пример #9
0
 function check_for_querystrings()
 {
     global $ultimatemember;
     if (isset($_REQUEST['message'])) {
         $ultimatemember->shortcodes->message_mode = true;
     }
     if (isset($_REQUEST['message']) && isset($_REQUEST['uid'])) {
         um_fetch_user($_REQUEST['uid']);
     }
 }
function um_display_logout_form($args)
{
    global $ultimatemember;
    if (is_user_logged_in() && isset($args['mode']) && $args['mode'] == 'login') {
        if (get_current_user_id() != um_user('ID')) {
            um_fetch_user(get_current_user_id());
        }
        $args['template'] = 'logout';
    }
    return $args;
}
Пример #11
0
function um_dynamic_user_profile_pagetitle($title, $sep = '')
{
    global $paged, $page, $ultimatemember;
    $profile_title = um_get_option('profile_title');
    if (um_is_core_page('user') && um_get_requested_user()) {
        um_fetch_user(um_get_requested_user());
        $profile_title = $ultimatemember->mail->convert_tags($profile_title);
        $title = $profile_title;
        um_reset_user();
    }
    return $title;
}
function um_control_admin_bar()
{
    if (um_user('can_not_see_adminbar')) {
        return false;
    }
    if (!is_admin() && !um_user('can_access_wpadmin')) {
        return false;
    } else {
        um_fetch_user(get_current_user_id());
        return true;
    }
}
Пример #13
0
function um_add_custom_message_to_menu($items, $args)
{
    global $ultimatemember;
    // this feature required logged in user
    if (!is_user_logged_in()) {
        return $items;
    }
    um_fetch_user(get_current_user_id());
    $items = $ultimatemember->shortcodes->convert_user_tags($items);
    um_reset_user();
    return $items;
}
Пример #14
0
 function listen_to_password_reset_uri()
 {
     global $ultimatemember;
     if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'reset_password' && isset($_REQUEST['hash']) && strlen($_REQUEST['hash']) == 40 && isset($_REQUEST['user_id']) && is_numeric($_REQUEST['user_id'])) {
         um_fetch_user($_REQUEST['user_id']);
         if ($_REQUEST['hash'] != um_user('reset_pass_hash')) {
             wp_die(__('This is not a valid hash, or it has expired.', 'ultimatemember'));
         }
         $ultimatemember->user->profile['reset_pass_hash_token'] = current_time('timestamp');
         $ultimatemember->user->update_usermeta_info('reset_pass_hash_token');
         $this->change_password = true;
         um_reset_user();
     }
 }
function um_comment_link_to_profile($return)
{
    global $comment, $ultimatemember;
    if (isset($comment->user_id) && !empty($comment->user_id)) {
        if (isset($ultimatemember->user->cached_user[$comment->user_id]) && $ultimatemember->user->cached_user[$comment->user_id]) {
            $return = '<a href="' . $ultimatemember->user->cached_user[$comment->user_id]['url'] . '">' . $ultimatemember->user->cached_user[$comment->user_id]['name'] . '</a>';
        } else {
            um_fetch_user($comment->user_id);
            $ultimatemember->user->cached_user[$comment->user_id] = array('url' => um_user_profile_url(), 'name' => um_user('display_name'));
            $return = '<a href="' . $ultimatemember->user->cached_user[$comment->user_id]['url'] . '">' . $ultimatemember->user->cached_user[$comment->user_id]['name'] . '</a>';
            um_reset_user();
        }
    }
    return $return;
}
Пример #16
0
function um_remove_unused_uploads($user_id)
{
    global $ultimatemember;
    um_fetch_user($user_id);
    $array = $ultimatemember->user->profile;
    $files = glob(um_user_uploads_dir() . '*', GLOB_BRACE);
    if (file_exists(um_user_uploads_dir()) && $files && isset($array) && is_array($array)) {
        foreach ($files as $file) {
            $str = basename($file);
            if (!strstr($str, 'profile_photo') && !strstr($str, 'cover_photo') && !strstr($str, 'stream_photo') && !preg_grep('/' . $str . '/', $array)) {
                unlink($file);
            }
        }
    }
}
function um_after_new_user_register($user_id, $args)
{
    global $ultimatemember;
    extract($args);
    um_fetch_user($user_id);
    if (!isset($args['role'])) {
        $role = um_get_option('default_role');
    }
    $ultimatemember->user->is_secure_role($user_id, $role);
    $ultimatemember->user->set_role($role);
    $ultimatemember->user->set_registration_details($args['submitted']);
    $ultimatemember->user->set_plain_password($args['user_password']);
    do_action('um_post_registration_save', $user_id, $args);
    do_action('um_post_registration_listener', $user_id, $args);
    do_action('um_post_registration', $user_id, $args);
}
Пример #18
0
    /**
     * Allow changing community role
     */
    function community_role_edit($user)
    {
        global $ultimatemember;
        if (current_user_can('edit_users') && current_user_can('edit_user', $user->ID)) {
            um_fetch_user($user->ID);
            ?>
			<table class="form-table">
				<tbody>
					<tr>
						<th>
							<label for="um_role"><?php 
            _e('Community Role', 'ultimatemember');
            ?>
</label>
						</th>
						<td>
							<select name="um_role" id="um_role">
							<?php 
            foreach ($ultimatemember->query->get_roles() as $key => $value) {
                ?>
							<option value="<?php 
                echo $key;
                ?>
" <?php 
                selected(um_user('role'), $key);
                ?>
 ><?php 
                echo $value;
                ?>
</option>
							<?php 
            }
            ?>
							</select>
							<span class="description"><?php 
            _e('Assign or change the community role for this user', 'ultimatemember');
            ?>
</span>
						</td>
					</tr>
				</tbody>
			</table>
		<?php 
        }
    }
Пример #19
0
function um_shortcode_args_filter($args)
{
    global $ultimatemember;
    if ($ultimatemember->shortcodes->message_mode == true) {
        $args['template'] = 'message';
        um_fetch_user($_REQUEST['uid']);
        $ultimatemember->shortcodes->custom_message = um_user(um_user('status') . '_message');
        um_reset_user();
    }
    foreach ($args as $k => $v) {
        if ($ultimatemember->validation->is_serialized($args[$k])) {
            if (!empty($args[$k])) {
                $args[$k] = unserialize($args[$k]);
            }
        }
    }
    return $args;
}
Пример #20
0
 function activate_account_via_email_link()
 {
     global $ultimatemember;
     if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'activate_via_email' && isset($_REQUEST['hash']) && strlen($_REQUEST['hash']) == 40 && isset($_REQUEST['user_id']) && is_numeric($_REQUEST['user_id'])) {
         // valid token
         $user_id = absint($_REQUEST['user_id']);
         delete_option("um_cache_userdata_{$user_id}");
         um_fetch_user($user_id);
         if (um_user('account_status') != 'awaiting_email_confirmation') {
             wp_die('The activation link you used is invalid or has expired.');
         }
         if ($_REQUEST['hash'] != um_user('account_secret_hash')) {
             wp_die('The secret key provided does not match this one for the user.');
         }
         $ultimatemember->user->approve();
         $redirect = um_user('url_email_activate') ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
         um_reset_user();
         exit(wp_redirect($redirect));
     }
 }
Пример #21
0
function um_submit_form_errors_hook_logincheck($args)
{
    global $ultimatemember;
    // Logout if logged in
    if (is_user_logged_in()) {
        wp_logout();
    }
    $user_id = isset($ultimatemember->login->auth_id) ? $ultimatemember->login->auth_id : '';
    um_fetch_user($user_id);
    $status = um_user('account_status');
    // account status
    switch ($status) {
        // If user can't login to site...
        case 'inactive':
        case 'awaiting_admin_review':
        case 'awaiting_email_confirmation':
        case 'rejected':
            um_reset_user();
            exit(wp_redirect(add_query_arg('err', $status, $ultimatemember->permalinks->get_current_url())));
            break;
    }
}
Пример #22
0
function um_wp_form_errors_hook_logincheck($user, $username, $password)
{
    remove_filter('authenticate', 'wp_authenticate_username_password', 20, 3);
    if (isset($user->ID)) {
        um_fetch_user($user->ID);
        $status = um_user('account_status');
        switch ($status) {
            case 'inactive':
                return new WP_Error($status, __('Ваш аккаунт был отключен.', 'ultimatemember'));
                break;
            case 'awaiting_admin_review':
                return new WP_Error($status, __('Ваш аккаунт не был одобрен еще.', 'ultimatemember'));
                break;
            case 'awaiting_email_confirmation':
                return new WP_Error($status, __('Ваша учетная запись ожидает проверки электронной почты.', 'ultimatemember'));
                break;
            case 'rejected':
                return new WP_Error($status, __('Ваш запрос на вступление была отклонена.', 'ultimatemember'));
                break;
        }
    }
    return wp_authenticate_username_password(null, $username, $password);
}
Пример #23
0
function um_wp_form_errors_hook_logincheck($user, $username, $password)
{
    remove_filter('authenticate', 'wp_authenticate_username_password', 20, 3);
    if (isset($user->ID)) {
        um_fetch_user($user->ID);
        $status = um_user('account_status');
        switch ($status) {
            case 'inactive':
                return new WP_Error($status, __('Your account has been disabled.', 'ultimatemember'));
                break;
            case 'awaiting_admin_review':
                return new WP_Error($status, __('Your account has not been approved yet.', 'ultimatemember'));
                break;
            case 'awaiting_email_confirmation':
                return new WP_Error($status, __('Your account is awaiting e-mail verification.', 'ultimatemember'));
                break;
            case 'rejected':
                return new WP_Error($status, __('Your membership request has been rejected.', 'ultimatemember'));
                break;
        }
    }
    return wp_authenticate_username_password($user, $username, $password);
}
Пример #24
0
 function manage_users_custom_column($value, $column_name, $user_id)
 {
     global $ultimatemember;
     if ($this->custom_role == $column_name) {
         if (get_option("um_cache_userdata_{$user_id}")) {
             delete_option("um_cache_userdata_{$user_id}");
         }
         um_fetch_user($user_id);
         return um_user('role_name');
     }
     return $value;
 }
Пример #25
0
function init_loyalty_stats($user_id)
{
    global $ultimatemember;
    um_fetch_user($user_id);
    update_user_meta($user_id, 'loyalty_status', 'Green');
    update_user_meta($user_id, 'loyalty_points', 0);
    update_user_meta($user_id, 'loyalty_date', date('Y-m-d', strtotime("+30 days")));
}
Пример #26
0
 function activate_account_via_email_link()
 {
     global $ultimatemember;
     if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'activate_via_email' && isset($_REQUEST['hash']) && strlen($_REQUEST['hash']) == 40 && isset($_REQUEST['user_id']) && is_numeric($_REQUEST['user_id'])) {
         // valid token
         $user_id = absint($_REQUEST['user_id']);
         delete_option("um_cache_userdata_{$user_id}");
         um_fetch_user($user_id);
         if (um_user('account_status') != 'awaiting_email_confirmation') {
             wp_die('The activation link you used is invalid or has expired.');
         }
         if (strtolower($_REQUEST['hash']) !== strtolower(um_user('account_secret_hash'))) {
             wp_die('The secret key provided does not match this one for the user.');
         }
         $ultimatemember->user->approve();
         $redirect = um_user('url_email_activate') ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
         $login = (bool) um_user('login_email_activate');
         // log in automatically
         if (!is_user_logged_in() && $login) {
             $user = get_userdata($user_id);
             $user_id = $user->ID;
             // update wp user
             wp_set_current_user($user_id, $user_login);
             wp_set_auth_cookie($user_id);
             ob_start();
             do_action('wp_login', $user_login);
             ob_end_clean();
         }
         um_reset_user();
         do_action('um_after_email_confirmation', $user_id);
         exit(wp_redirect($redirect));
     }
 }
function um_after_new_user_register($user_id, $args)
{
    global $ultimatemember, $pagenow;
    extract($args);
    um_fetch_user($user_id);
    if (!isset($args['role'])) {
        $role = um_get_option('default_role');
    }
    if ($pagenow != 'user-new.php' && !array_key_exists($role, $ultimatemember->query->get_roles(false, array('admin')))) {
        $role = um_get_option('default_role');
    }
    $ultimatemember->user->set_role($role);
    $ultimatemember->user->set_registration_details($args['submitted']);
    $ultimatemember->user->set_last_login();
    do_action('um_new_user_registration_plain');
    do_action('um_post_registration_save', $user_id, $args);
    do_action('um_post_registration_listener', $user_id, $args);
    do_action('um_post_registration', $user_id, $args);
}
function um_members_directory_display($args)
{
    global $ultimatemember;
    extract($args);
    if (isset($args['search']) && $args['search'] == 1 && isset($args['must_search']) && $args['must_search'] == 1 && !isset($_REQUEST['um_search'])) {
        return;
    }
    if (um_members('no_users')) {
        ?>
		
			<div class="um-members-none">
				<p><?php 
        echo $args['no_users'];
        ?>
</p>
			</div>
			
		<?php 
    }
    if (um_members('users_per_page')) {
        ?>
		
			<div class="um-members">
			
				<div class="um-gutter-sizer"></div>
				
				<?php 
        $i = 0;
        foreach (um_members('users_per_page') as $member) {
            $i++;
            um_fetch_user($member);
            ?>
			
				<div class="um-member <?php 
            echo um_user('account_status');
            ?>
 <?php 
            if ($cover_photos) {
                echo 'with-cover';
            }
            ?>
">
				
					<span class="um-member-status <?php 
            echo um_user('account_status');
            ?>
"><?php 
            echo um_user('account_status_name');
            ?>
</span>
					
					<?php 
            if ($cover_photos) {
                if ($ultimatemember->mobile->isTablet()) {
                    $cover_size = 600;
                } else {
                    $cover_size = 300;
                }
                ?>
					
					<div class="um-member-cover" data-ratio="<?php 
                echo um_get_option('profile_cover_ratio');
                ?>
">
						<div class="um-member-cover-e"><?php 
                echo um_user('cover_photo', $cover_size);
                ?>
</div>
					</div>
					
					<?php 
            }
            ?>
		
					<?php 
            if ($profile_photo) {
                $default_size = str_replace('px', '', um_get_option('profile_photosize'));
                $corner = um_get_option('profile_photocorner');
                ?>
					<div class="um-member-photo radius-<?php 
                echo $corner;
                ?>
"><a href="<?php 
                echo um_user_profile_url();
                ?>
" title="<?php 
                echo um_user('display_name');
                ?>
"><?php 
                echo get_avatar(um_user('ID'), $default_size);
                ?>
</a></div>
					<?php 
            }
            ?>
					
					<div class="um-member-card <?php 
            if (!$profile_photo) {
                echo 'no-photo';
            }
            ?>
">
						
						<?php 
            if ($show_name) {
                ?>
						<div class="um-member-name"><a href="<?php 
                echo um_user_profile_url();
                ?>
" title="<?php 
                echo um_user('display_name');
                ?>
"><?php 
                echo um_user('display_name', 'html');
                ?>
</a></div>
						<?php 
            }
            ?>
						
						<?php 
            do_action('um_members_just_after_name', um_user('ID'), $args);
            ?>
						
						<?php 
            do_action('um_members_after_user_name', um_user('ID'), $args);
            ?>
						
						<?php 
            if ($show_tagline && is_array($tagline_fields)) {
                foreach ($tagline_fields as $key) {
                    if ($key && um_filtered_value($key)) {
                        $value = um_filtered_value($key);
                        ?>
						
						<div class="um-member-tagline"><?php 
                        echo $value;
                        ?>
</div>
						
						<?php 
                    }
                }
            }
            ?>
						
						<?php 
            if ($show_userinfo) {
                ?>
						
						<div class="um-member-meta-main">
						
							<?php 
                if ($userinfo_animate) {
                    ?>
							<div class="um-member-more"><a href="#"><i class="um-faicon-angle-down"></i></a></div>
							<?php 
                }
                ?>
							
							<div class="um-member-meta <?php 
                if (!$userinfo_animate) {
                    echo 'no-animate';
                }
                ?>
">
							
								<?php 
                foreach ($reveal_fields as $key) {
                    if ($key && um_filtered_value($key)) {
                        $value = um_filtered_value($key);
                        ?>
								
								<div class="um-member-metaline um-member-metaline-<?php 
                        echo $key;
                        ?>
"><span><strong><?php 
                        echo $ultimatemember->fields->get_label($key);
                        ?>
:</strong> <?php 
                        echo $value;
                        ?>
</span></div>
								
								<?php 
                    }
                }
                ?>
								
								<?php 
                if ($show_social) {
                    ?>
								<div class="um-member-connect">
								
									<?php 
                    $ultimatemember->fields->show_social_urls();
                    ?>

								</div>
								<?php 
                }
                ?>
								
							</div>

							<div class="um-member-less"><a href="#"><i class="um-faicon-angle-up"></i></a></div>
						
						</div>
						
						<?php 
            }
            ?>
						
					</div>
					
				</div>
				
				<?php 
            um_reset_user_clean();
        }
        // end foreach
        um_reset_user();
        ?>
				
				<div class="um-clear"></div>
				
			</div>
			
		<?php 
    }
}
Пример #29
0
function um_current_user_can($cap, $user_id)
{
    global $ultimatemember;
    if (!is_user_logged_in()) {
        return false;
    }
    $return = 1;
    um_fetch_user(get_current_user_id());
    switch ($cap) {
        case 'edit':
            if (get_current_user_id() == $user_id && um_user('can_edit_profile')) {
                $return = 1;
            } elseif (!um_user('can_edit_everyone')) {
                $return = 0;
            } elseif (get_current_user_id() == $user_id && !um_user('can_edit_profile')) {
                $return = 0;
            } elseif (um_user('can_edit_roles') && !in_array($ultimatemember->query->get_role_by_userid($user_id), um_user('can_edit_roles'))) {
                $return = 0;
            }
            break;
        case 'delete':
            if (!um_user('can_delete_everyone')) {
                $return = 0;
            } elseif (um_user('can_delete_roles') && !in_array($ultimatemember->query->get_role_by_userid($user_id), um_user('can_delete_roles'))) {
                $return = 0;
            }
            break;
    }
    um_fetch_user($user_id);
    return $return;
}
Пример #30
0
function um_admin_do_action__user_action($action)
{
    global $ultimatemember;
    if (!is_admin() || !current_user_can('edit_users')) {
        die;
    }
    if (!isset($_REQUEST['sub'])) {
        die;
    }
    if (!isset($_REQUEST['user_id'])) {
        die;
    }
    um_fetch_user($_REQUEST['user_id']);
    $subaction = $_REQUEST['sub'];
    do_action("um_admin_user_action_hook", $subaction);
    do_action("um_admin_user_action_{$subaction}_hook");
    um_reset_user();
    wp_redirect(add_query_arg('update', 'user_updated', admin_url('?page=ultimatemember')));
    exit;
}