Skip to:
Content

BuddyPress.org

Ticket #2661: 2661.001.patch

File 2661.001.patch, 3.4 KB (added by r-a-y, 14 years ago)
  • bp-groups-templatetags.php

    old new  
    10201020        return apply_filters( 'bp_group_is_member', $is_member );
    10211021}
    10221022
     1023/**
     1024 * bp_group_is_member_banned()
     1025 *
     1026 * Checks if a user is banned from a group.
     1027 *
     1028 * @uses is_super_admin Check if current user is super admin
     1029 * @uses apply_filters Creates bp_group_is_member_banned and passes $is_banned
     1030 * @usedby groups/single/forum/forum.php, groups/single/forum/topic.php to determine post form visibility
     1031 * @global array $bp BuddyPress Master global
     1032 * @global object $groups_template Current Group (usually in template loop)
     1033 * @param object $group Group to check if user is banned from the group
     1034 * @return bool If user is banned from the group or not
     1035 */
     1036function bp_group_is_member_banned( $group = false, $user_id = false ) {
     1037        global $bp, $groups_template;
     1038
     1039        // Site admins always have access
     1040        if ( is_super_admin() )
     1041                return false;
     1042
     1043        // Load group if none passed
     1044        if ( !$group )
     1045                $group =& $groups_template->group;
     1046
     1047        // Pass logged-in user ID if none passed
     1048        if ( !$user_id )
     1049                $user_id = $bp->loggedin_user->id;
     1050
     1051        if ( groups_is_user_banned( $user_id, $group->id ) )
     1052                $is_banned = true;
     1053        else
     1054                $is_banned = false;
     1055
     1056        // Return
     1057        return apply_filters( 'bp_group_is_member_banned', $is_banned );
     1058}
     1059
    10231060function bp_group_accept_invite_link() {
    10241061        echo bp_get_group_accept_invite_link();
    10251062}
     
    10961133}
    10971134
    10981135function bp_group_new_topic_button() {
    1099         if ( bp_is_group_forum() && is_user_logged_in() && !bp_is_group_forum_topic() ) {
     1136        if ( bp_is_group_forum() && is_user_logged_in() && !bp_is_group_forum_topic() && !bp_group_is_member_banned() ) {
    11001137                bp_button( array (
    11011138                        'id'                => 'new_topic',
    11021139                        'component'         => 'groups',
     
    12101247                }
    12111248
    12121249                // Filter and return the HTML button
    1213                 return bp_get_button( apply_filters( 'bp_get_group_join_button', $button ) );
     1250                if ( !bp_group_is_member_banned() )
     1251                        return bp_get_button( apply_filters( 'bp_get_group_join_button', $button ) );
     1252
     1253                return false;
    12141254        }
    12151255
    12161256function bp_group_status_message( $group = false ) {
  • buddypress/bp-themes/bp-default/groups/single/forum.php

     
    1818
    1919<?php if ( !bp_is_group_forum_topic_edit() && !bp_is_group_forum_topic() ) : ?>
    2020
    21         <?php if ( ( is_user_logged_in() && 'public' == bp_get_group_status() ) || bp_group_is_member() ) : ?>
     21        <?php if ( ( is_user_logged_in() && 'public' == bp_get_group_status() && !bp_group_is_member_banned() ) || bp_group_is_member() ) : ?>
    2222
    2323                <form action="" method="post" id="forum-topic-form" class="standard-form">
    2424                        <div id="post-new-topic">
  • C:/

    old new  
    7474
    7575                </div>
    7676
    77                 <?php if ( ( is_user_logged_in() && 'public' == bp_get_group_status() ) || bp_group_is_member() ) : ?>
     77                <?php if ( ( is_user_logged_in() && 'public' == bp_get_group_status() && !bp_group_is_member_banned() ) || bp_group_is_member() ) : ?>
    7878
    7979                        <?php if ( bp_get_the_topic_is_last_page() ) : ?>
    8080