/** * Delete the current group. * * @return bool True on success, false on failure. */ public function delete() { global $wpdb; // Delete groupmeta for the group. groups_delete_groupmeta($this->id); // Fetch the user IDs of all the members of the group. $user_ids = BP_Groups_Member::get_group_member_ids($this->id); $user_id_str = esc_sql(implode(',', wp_parse_id_list($user_ids))); // Modify group count usermeta for members. $wpdb->query("UPDATE {$wpdb->usermeta} SET meta_value = meta_value - 1 WHERE meta_key = 'total_group_count' AND user_id IN ( {$user_id_str} )"); // Now delete all group member entries. BP_Groups_Member::delete_all($this->id); /** * Fires before the deletion of a group. * * @since 1.2.0 * * @param BP_Groups_Group $this Current instance of the group item being deleted. Passed by reference. * @param array $user_ids Array of user IDs that were members of the group. */ do_action_ref_array('bp_groups_delete_group', array(&$this, $user_ids)); wp_cache_delete($this->id, 'bp_groups'); $bp = buddypress(); // Finally remove the group entry from the DB. if (!$wpdb->query($wpdb->prepare("DELETE FROM {$bp->groups->table_name} WHERE id = %d", $this->id))) { return false; } return true; }
function delete() { global $wpdb, $bp; // Delete groupmeta for the group groups_delete_groupmeta($this->id); // Fetch the user IDs of all the members of the group $user_ids = BP_Groups_Member::get_group_member_ids($this->id); $user_id_str = implode(',', (array) $user_ids); // Modify group count usermeta for members $wpdb->query("UPDATE {$wpdb->usermeta} SET meta_value = meta_value - 1 WHERE meta_key = 'total_group_count' AND user_id IN ( {$user_id_str} )"); // Now delete all group member entries BP_Groups_Member::delete_all($this->id); do_action_ref_array('bp_groups_delete_group', array(&$this, $user_ids)); wp_cache_delete('bp_groups_group_' . $this->id, 'bp'); // Finally remove the group entry from the DB if (!$wpdb->query($wpdb->prepare("DELETE FROM {$bp->groups->table_name} WHERE id = %d", $this->id))) { return false; } return true; }
function delete() { global $wpdb, $bp; /* Delete groupmeta for the group */ groups_delete_groupmeta( $this->id ); /* Fetch the user IDs of all the members of the group */ $user_ids = BP_Groups_Member::get_group_member_ids( $this->id ); $user_ids = implode( ',', (array)$user_ids ); /* Modify group count usermeta for members */ $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->usermeta} SET meta_value = meta_value - 1 WHERE meta_key = 'total_group_count' AND user_id IN ( {$user_ids} )" ) ); /* Now delete all group member entries */ BP_Groups_Member::delete_all( $this->id ); do_action( 'bp_groups_delete_group', $this ); // Finally remove the group entry from the DB if ( !$wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name} WHERE id = %d", $this->id ) ) ) return false; return true; }