function bp_group_management_ban_member($user_id, $group_id)
{
    global $bp;
    $member = new BP_Groups_Member($user_id, $group_id);
    do_action('groups_ban_member', $group_id, $user_id);
    if (!$member->ban()) {
        return false;
    }
    update_usermeta($user_id, 'total_group_count', (int) $total_count - 1);
    return true;
}
 public function test_get_is_banned_of_with_filter()
 {
     $g1 = $this->factory->group->create(array('name' => 'RC Cola'));
     $g2 = $this->factory->group->create(array('name' => 'Pepsi'));
     $u = $this->factory->user->create();
     self::add_user_to_group($u, $g1);
     self::add_user_to_group($u, $g2);
     $m1 = new BP_Groups_Member($u, $g1);
     $m1->ban();
     $m2 = new BP_Groups_Member($u, $g2);
     $m2->ban();
     $groups = BP_Groups_Member::get_is_banned_of($u, false, false, 'eps');
     $ids = wp_list_pluck($groups['groups'], 'id');
     $this->assertEquals($ids, array($g2));
 }
/**
 * Ban a member from a group.
 *
 * @param int $user_id  ID of the user.
 * @param int $group_id ID of the group.
 *
 * @return bool True on success, false on failure.
 */
function groups_ban_member($user_id, $group_id)
{
    if (!bp_is_item_admin()) {
        return false;
    }
    $member = new BP_Groups_Member($user_id, $group_id);
    /**
     * Fires before the banning of a member from a group.
     *
     * @since 1.0.0
     *
     * @param int $group_id ID of the group being banned from.
     * @param int $user_id  ID of the user being banned.
     */
    do_action('groups_ban_member', $group_id, $user_id);
    return $member->ban();
}
 public function test_groups_is_user_banned_should_return_true_for_banned_member()
 {
     $this->add_user_to_group(self::$user, self::$groups[1]);
     $m = new BP_Groups_Member(self::$user, self::$groups[1]);
     $m->ban();
     $this->assertNotEmpty(groups_is_user_banned(self::$user, self::$groups[1]));
 }
function groups_ban_member($user_id, $group_id)
{
    if (!bp_is_item_admin()) {
        return false;
    }
    $member = new BP_Groups_Member($user_id, $group_id);
    do_action('groups_ban_member', $group_id, $user_id);
    return $member->ban();
}
 /**
  * @group role
  */
 public function test_with_group_role_banned()
 {
     $g = $this->factory->group->create();
     $u1 = $this->factory->user->create();
     $u2 = $this->factory->user->create();
     $time = time();
     $this->add_user_to_group($u1, $g, array('date_modified' => gmdate('Y-m-d H:i:s', $time - 100)));
     $this->add_user_to_group($u2, $g, array('date_modified' => gmdate('Y-m-d H:i:s', $time - 200)));
     $m1 = new BP_Groups_Member($u1, $g);
     $m1->ban();
     $query_members = new BP_Group_Member_Query(array('group_id' => $g, 'group_role' => array('banned')));
     $ids = wp_parse_id_list(array_keys($query_members->results));
     $this->assertEquals(array($u1), $ids);
 }
function groups_ban_member($user_id, $group_id)
{
    global $bp;
    if (!$bp->is_item_admin) {
        return false;
    }
    $member = new BP_Groups_Member($user_id, $group_id);
    do_action('groups_ban_member', $group_id, $user_id);
    return $member->ban();
}
Example #8
0
function groups_ban_member($user_id, $group_id)
{
    global $bp;
    /* Check the nonce first. */
    if (!check_admin_referer('groups_ban_member')) {
        return false;
    }
    if (!$bp->is_item_admin) {
        return false;
    }
    $member = new BP_Groups_Member($user_id, $group_id);
    do_action('groups_ban_member', $user_id, $group_id);
    return $member->ban();
}
 /**
  * @group cache
  */
 public function test_cache_should_be_invalidated_on_group_unban()
 {
     $m1 = new BP_Groups_Member(self::$user, self::$groups[1]);
     $m1->ban();
     // Populate cache.
     $g1 = bp_get_user_groups(self::$user);
     $m2 = new BP_Groups_Member(self::$user, self::$groups[1]);
     $m2->unban();
     $expected = array(self::$groups[0], self::$groups[1]);
     $found = bp_get_user_groups(self::$user);
     $this->assertEqualSets($expected, array_keys($found));
 }
Example #10
0
 /**
  * @group bp_group_has_members
  */
 public function test_bp_group_has_members_with_exclude_banned_0()
 {
     $u1 = $this->factory->user->create();
     $u2 = $this->factory->user->create();
     $u3 = $this->factory->user->create();
     $g = $this->factory->group->create(array('creator_id' => $u1));
     $now = time();
     $this->add_user_to_group($u2, $g, array('date_modified' => gmdate('Y-m-d H:i:s', $now - 60 * 60 * 24)));
     $this->add_user_to_group($u3, $g, array('date_modified' => gmdate('Y-m-d H:i:s', $now - 60 * 60 * 12)));
     $m2 = new BP_Groups_Member($u2, $g);
     $m2->ban();
     global $members_template;
     bp_group_has_members(array('group_id' => $g, 'exclude_banned' => 0, 'exclude_admins_mods' => false));
     $ids = wp_parse_id_list(wp_list_pluck($members_template->members, 'user_id'));
     $this->assertEquals(array($u1, $u3, $u2), $ids);
 }