/** * Example usage: * Utils_AttachmentCommon::persistent_mass_delete('CRM/Contact'); // deletes all entries located in CRM/Contact*** group */ public static function persistent_mass_delete($group, $group_starts_with = true, array $selective = null) { $ids = self::get_where($group, $group_starts_with); if (isset($selective) && !empty($selective)) { $ids = array_intersect($ids, $selective); } foreach ($ids as $id) { $mids = DB::GetCol('SELECT id FROM utils_attachment_file WHERE attach_id=%d', array($id)); foreach ($mids as $mid) { Utils_FileStorageCommon::delete('attachment_file/' . $mid); DB::Execute('DELETE FROM utils_attachment_download WHERE attach_file_id=%d', array($mid)); } DB::Execute('DELETE FROM utils_attachment_file WHERE attach_id=%d', array($id)); DB::Execute('DELETE FROM utils_attachment_local WHERE attachment=%d', array($id)); Utils_RecordBrowserCommon::delete_record('utils_attachment', $id, true); } }
public function delete() { return Utils_FileStorageCommon::delete($this->id); }