/**
 * Prints a message if the group is not visible to the current user (it is a
 * hidden or private group, and the user does not have access).
 *
 * @since 1.0.0
 *
 * @global BP_Groups_Template $groups_template Groups template object.
 *
 * @param object|null $group Group to get status message for. Optional; defaults to current group.
 */
function bp_group_status_message($group = null)
{
    global $groups_template;
    // Group not passed so look for loop.
    if (empty($group)) {
        $group =& $groups_template->group;
    }
    // Group status is not set (maybe outside of group loop?).
    if (empty($group->status)) {
        $message = __('This group is not currently accessible.', 'buddypress');
        // Group has a status.
    } else {
        switch ($group->status) {
            // Private group.
            case 'private':
                if (!bp_group_has_requested_membership($group)) {
                    if (is_user_logged_in()) {
                        if (bp_group_is_invited($group)) {
                            $message = __('You must accept your pending invitation before you can access this private group.', 'buddypress');
                        } else {
                            $message = __('This is a private group and you must request group membership in order to join.', 'buddypress');
                        }
                    } else {
                        $message = __('This is a private group. To join you must be a registered site member and request group membership.', 'buddypress');
                    }
                } else {
                    $message = __('This is a private group. Your membership request is awaiting approval from the group administrator.', 'buddypress');
                }
                break;
                // Hidden group.
            // Hidden group.
            case 'hidden':
            default:
                $message = __('This is a hidden group and only invited members can join.', 'buddypress');
                break;
        }
    }
    /**
     * Filters a message if the group is not visible to the current user.
     *
     * This will be true if it is a hidden or private group, and the user does not have access.
     *
     * @since 1.6.0
     *
     * @param string $message Message to display to the current user.
     * @param object $group   Group to get status message for.
     */
    echo apply_filters('bp_group_status_message', $message, $group);
}
Beispiel #2
0
/**
 * Prints a message if the group is not visible to the current user (it is a
 * hidden or private group, and the user does not have access).
 *
 * @global BP_Groups_Template $groups_template Groups template object
 * @param object $group Group to get status message for. Optional; defaults to current group.
 * @since BuddyPress (1.0.0)
 */
function bp_group_status_message($group = null)
{
    global $groups_template;
    if (!$group) {
        $group =& $groups_template->group;
    }
    if ('private' == $group->status) {
        if (!bp_group_has_requested_membership()) {
            if (is_user_logged_in() && bp_group_is_invited()) {
                $message = __('You must accept your pending invitation before you can access this private group.', 'buddypress');
            } else {
                if (is_user_logged_in()) {
                    $message = __('This is a private group and you must request group membership in order to join.', 'buddypress');
                } else {
                    $message = __('This is a private group. To join you must be a registered site member and request group membership.', 'buddypress');
                }
            }
        } else {
            $message = __('This is a private group. Your membership request is awaiting approval from the group administrator.', 'buddypress');
        }
    } else {
        $message = __('This is a hidden group and only invited members can join.', 'buddypress');
    }
    echo apply_filters('bp_group_status_message', $message, $group);
}