From a35062a1eba5c6c15f703686cd4fecc5536d74df Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Thu, 15 Apr 2010 02:33:30 -0400 Subject: [PATCH] Always set changed date when marking a DB record as deleted + provide a cleanup script --- program/include/rcube_contacts.php | 18 ++++-------------- 1 files changed, 4 insertions(+), 14 deletions(-) diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php index dd37972..b8307d4 100644 --- a/program/include/rcube_contacts.php +++ b/program/include/rcube_contacts.php @@ -403,16 +403,10 @@ if (is_array($ids)) $ids = join(',', $ids); - // delete all group members linked with these contacts - if ($this->groups) { - $this->db->query( - "DELETE FROM ".get_table_name('contactgroupmembers')." - WHERE contact_id IN (".$ids.")"); - } - + // flag record as deleted $this->db->query( "UPDATE ".$this->db_name." - SET del=1 + SET del=1, changed=".$this->db->now()." WHERE user_id=? AND contact_id IN (".$ids.")", $this->user_id); @@ -456,18 +450,14 @@ } /** - * Delete the given group and all linked group members + * Delete the given group (and all linked group members) * * @param string Group identifier * @return boolean True on success, false if no data was changed */ function delete_group($gid) { - $sql_result = $this->db->query( - "DELETE FROM ".get_table_name('contactgroupmembers')." - WHERE contactgroup_id=?", - $gid); - + // flag group record as deleted $sql_result = $this->db->query( "UPDATE ".get_table_name('contactgroups')." SET del=1, changed=".$this->db->now()." -- Gitblit v1.9.1