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; }
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; }