/**
  * 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;
 }
Example #3
0
	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;
	}