Ejemplo n.º 1
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;
}
Ejemplo n.º 2
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;
}
Ejemplo n.º 3
0
function um_can_view_profile($user_id)
{
    global $ultimatemember;
    if (!um_user('can_view_all') && $user_id != get_current_user_id() && is_user_logged_in()) {
        return false;
    }
    if (um_current_user_can('edit', $user_id)) {
        return true;
    }
    if (!is_user_logged_in()) {
        if ($ultimatemember->user->is_private_profile($user_id)) {
            return false;
        } else {
            return true;
        }
    }
    if (!um_user('can_access_private_profile') && $ultimatemember->user->is_private_profile($user_id)) {
        return false;
    }
    if (um_user_can('can_view_roles') && $user_id != get_current_user_id()) {
        if (!in_array($ultimatemember->query->get_role_by_userid($user_id), um_user_can('can_view_roles'))) {
            return false;
        }
    }
    return true;
}
function um_pre_profile_shortcode($args)
{
    global $ultimatemember;
    extract($args);
    if ($mode == 'profile' && $ultimatemember->fields->editing == false) {
        $ultimatemember->fields->viewing = 1;
        if (um_get_requested_user()) {
            if (!um_can_view_profile(um_get_requested_user())) {
                um_redirect_home();
            }
            if (!um_current_user_can('edit', um_get_requested_user())) {
                $ultimatemember->user->cannot_edit = 1;
            }
            um_fetch_user(um_get_requested_user());
        } else {
            if (!is_user_logged_in()) {
                um_redirect_home();
            }
            if (!um_user('can_edit_profile')) {
                $ultimatemember->user->cannot_edit = 1;
            }
        }
    }
    if ($mode == 'profile' && $ultimatemember->fields->editing == true) {
        $ultimatemember->fields->editing = 1;
        if (um_get_requested_user()) {
            if (!um_current_user_can('edit', um_get_requested_user())) {
                um_redirect_home();
            }
            um_fetch_user(um_get_requested_user());
        }
    }
}
Ejemplo n.º 5
0
function ultimatemember_muted_action()
{
    global $ultimatemember;
    extract($_REQUEST);
    if (!um_current_user_can('edit', $user_id)) {
        die(__('You can not edit this user'));
    }
    switch ($hook) {
        default:
            do_action("um_run_ajax_function__{$hook}", $_REQUEST);
            break;
    }
}
Ejemplo n.º 6
0
function um_action_request_process()
{
    global $ultimatemember;
    if (is_admin()) {
        return false;
    }
    if (!is_user_logged_in()) {
        return false;
    }
    if (!isset($_REQUEST['um_action'])) {
        return false;
    }
    if (isset($_REQUEST['uid']) && !$ultimatemember->user->user_exists_by_id($_REQUEST['uid'])) {
        return false;
    }
    if (isset($_REQUEST['uid'])) {
        if (is_super_admin($_REQUEST['uid'])) {
            wp_die('Super administrators can not be modified.');
        }
    }
    if (isset($_REQUEST['um_action']) && $_REQUEST['um_action'] != "edit" && !current_user_can('edit_users')) {
        wp_die(__('You do not have enough permissions to do that.', 'ultimatemember'));
    }
    if (isset($_REQUEST['uid'])) {
        $uid = $_REQUEST['uid'];
    }
    switch ($_REQUEST['um_action']) {
        default:
            $uid = isset($_REQUEST['uid']) ? $_REQUEST['uid'] : 0;
            do_action('um_action_user_request_hook', $_REQUEST['um_action'], $uid);
            break;
        case 'edit':
            $ultimatemember->fields->editing = true;
            if (!um_can_edit_my_profile()) {
                $url = um_edit_my_profile_cancel_uri();
                exit(wp_redirect($url));
            }
            break;
        case 'um_switch_user':
            if (!current_user_can('delete_users')) {
                return;
            }
            $ultimatemember->user->auto_login($_REQUEST['uid']);
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_reject_membership':
            um_fetch_user($uid);
            $ultimatemember->user->reject();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_approve_membership':
        case 'um_reenable':
            um_fetch_user($uid);
            $ultimatemember->user->approve();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_put_as_pending':
            um_fetch_user($uid);
            $ultimatemember->user->pending();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_resend_activation':
            um_fetch_user($uid);
            $ultimatemember->user->email_pending();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_deactivate':
            um_fetch_user($uid);
            $ultimatemember->user->deactivate();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
        case 'um_delete':
            if (!um_current_user_can('delete', $uid)) {
                wp_die(__('You do not have permission to delete this user.', 'ultimatemember'));
            }
            um_fetch_user($uid);
            $ultimatemember->user->delete();
            exit(wp_redirect($ultimatemember->permalinks->get_current_url(true)));
            break;
    }
}