function bp_group_management_delete_group($group_id)
{
    global $bp;
    $group = new BP_Groups_Group($group_id);
    if (!$group->delete()) {
        return false;
    }
    /* Delete all group activity from activity streams */
    if (function_exists('bp_activity_delete_by_item_id')) {
        bp_activity_delete_by_item_id(array('item_id' => $group_id, 'component' => $bp->groups->id));
    }
    // Remove all outstanding invites for this group
    groups_delete_all_group_invites($group_id);
    // Remove all notifications for any user belonging to this group
    bp_core_delete_all_notifications_by_type($group_id, $bp->groups->slug);
    do_action('groups_delete_group', $group_id);
    return true;
}
/**
 * Delete a group and all of its associated meta
 *
 * @global object $bp BuddyPress global settings
 * @param int $group_id
 * @since BuddyPress (1.0)
 */
function groups_delete_group($group_id)
{
    global $bp;
    // Check the user is the group admin.
    if (!bp_is_item_admin()) {
        return false;
    }
    do_action('groups_before_delete_group', $group_id);
    // Get the group object
    $group = groups_get_group(array('group_id' => $group_id));
    if (!$group->delete()) {
        return false;
    }
    // Delete all group activity from activity streams
    if (bp_is_active('activity')) {
        bp_activity_delete_by_item_id(array('item_id' => $group_id, 'component' => $bp->groups->id));
    }
    // Remove all outstanding invites for this group
    groups_delete_all_group_invites($group_id);
    // Remove all notifications for any user belonging to this group
    bp_core_delete_all_notifications_by_type($group_id, $bp->groups->id);
    do_action('groups_delete_group', $group_id);
    return true;
}
/**
 * Delete a group and all of its associated meta
 *
 * @global object $bp BuddyPress global settings
 * @param int $group_id
 * @since 1.0
 */
function groups_delete_group($group_id)
{
    global $bp;
    // Check the user is the group admin.
    if (!$bp->is_item_admin) {
        return false;
    }
    // Get the group object
    $group = new BP_Groups_Group($group_id);
    if (!$group->delete()) {
        return false;
    }
    do_action('groups_before_delete_group', $group_id);
    // Delete all group activity from activity streams
    if (bp_is_active('activity')) {
        bp_activity_delete_by_item_id(array('item_id' => $group_id, 'component' => $bp->groups->id));
    }
    // Remove all outstanding invites for this group
    groups_delete_all_group_invites($group_id);
    // Remove all notifications for any user belonging to this group
    bp_core_delete_all_notifications_by_type($group_id, $bp->groups->id);
    // Remove forum if component is active and current group has one
    if (bp_is_active('forums') && ($forum_id = groups_get_groupmeta($group_id, 'forum_id'))) {
        do_action('bbpress_init');
        bb_delete_forum($forum_id);
    }
    do_action('groups_delete_group', $group_id);
    return true;
}
Exemple #4
0
function groups_delete_group($group_id)
{
    global $bp;
    /* Check the nonce first. */
    if (!check_admin_referer('groups_delete_group')) {
        return false;
    }
    // Check the user is the group admin.
    if (!$bp->is_item_admin) {
        return false;
    }
    // Get the group object
    $group = new BP_Groups_Group($group_id);
    if (!$group->delete()) {
        return false;
    }
    // Remove the activity stream item
    groups_delete_activity(array('item_id' => $group_id, 'component_name' => $bp->groups->slug, 'component_action' => 'created_group', 'user_id' => $bp->loggedin_user->id));
    // Remove all outstanding invites for this group
    groups_delete_all_group_invites($group_id);
    // Remove all notifications for any user belonging to this group
    bp_core_delete_all_notifications_by_type($group_id, $bp->groups->slug);
    do_action('groups_delete_group', $group_id);
    return true;
}
/**
 * @since v 1.0.2
 * @desc delete notification when an activity is deleted, thanks to @kat_uk for pointing the issue
 * @param ac_ids:we get an arry of activity ids
 */
function bp_ac_clear_notification_on_activity_delete($ac_ids)
{
    global $bp;
    //bp_core_delete_notifications_by_item_id(  $bp->loggedin_user->id, $activity->id, $bp->activity->id,  'new_activity_comment_'.$activity->id);
    foreach ((array) $ac_ids as $activity_id) {
        bp_core_delete_all_notifications_by_type($activity_id, $bp->ac_notifier->id, 'new_activity_comment_' . $activity_id, $secondary_item_id = false);
    }
}
/**
 * Loads an Achievement's delete page. Also implements controller logic.
 *
 * @global object $bp BuddyPress global settings
 * @since 2.0
 * @uses DPA_Achievement
 */
function dpa_screen_achievement_delete()
{
    global $bp;
    if (empty($_REQUEST['delete-achievement-button']) || empty($_REQUEST['delete-achievement-understand'])) {
        do_action('dpa_screen_achievement_delete');
        bp_core_load_template(apply_filters('dpa_screen_achievement_delete_template', 'achievements/single/home'));
        return;
    }
    if (!nxt_verify_nonce($_REQUEST['_nxtnonce'], 'achievements-delete-achievement-' . $bp->current_item)) {
        nxt_nonce_ays('');
        die;
    }
    // Delete Achievement
    $slug = $bp->current_item;
    if (!($achievement_id = DPA_Achievement::delete($slug))) {
        do_action('dpa_screen_achievement_delete_fail', $slug);
        bp_core_add_message(__('There was an error deleting the Achievement, please try again.', 'dpa'), 'error');
        bp_core_redirect(dpa_get_achievements_permalink() . '/' . $slug);
    } else {
        do_action('dpa_screen_achievement_delete_success', $slug, $achievement_id);
        // Remove all notifications for any user relating to this Achievement
        bp_core_delete_all_notifications_by_type($achievement_id, $bp->achievements->id, 'new_achievement');
        bp_core_add_message(__('The Achievement was deleted successfully.', 'dpa'));
        bp_core_redirect(dpa_get_achievements_permalink());
    }
}
/**
 * When a blog is spammed, archived, or deleted, delete the corresponding group
 *
 * @param int
 */
function thatcamp_delete_group_for_blog($blog_id)
{
    global $bp;
    $group_id = thatcamp_get_blog_group($blog_id);
    // do it manually, to avoid groups_delete_group() cap check
    do_action('groups_before_delete_group', $group_id);
    // Get the group object
    $group = groups_get_group(array('group_id' => $group_id));
    if (!$group->delete()) {
        return false;
    }
    // Delete all group activity from activity streams
    if (bp_is_active('activity')) {
        bp_activity_delete_by_item_id(array('item_id' => $group_id, 'component' => $bp->groups->id));
    }
    // Remove all outstanding invites for this group
    groups_delete_all_group_invites($group_id);
    // Remove all notifications for any user belonging to this group
    bp_core_delete_all_notifications_by_type($group_id, $bp->groups->id);
    do_action('groups_delete_group', $group_id);
}
function bp_links_delete_link($link_id)
{
    global $bp;
    // Check the user is the link admin.
    if (false === bp_link_is_admin()) {
        return false;
    }
    // Get the link object
    $link = new BP_Links_Link($link_id);
    if (!$link->delete()) {
        return false;
    }
    /* Delete all link activity from activity streams */
    if (function_exists('bp_activity_delete_by_item_id')) {
        bp_activity_delete_by_item_id(array('item_id' => $link->id, 'component_name' => bp_links_id()));
    }
    // Remove all notifications for any user belonging to this link
    bp_core_delete_all_notifications_by_type($link_id, bp_links_id());
    do_action('bp_links_delete_link', $link_id);
    return true;
}