diff options
author | thomascube <thomas@roundcube.net> | 2010-04-15 06:33:30 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2010-04-15 06:33:30 +0000 |
commit | a35062a1eba5c6c15f703686cd4fecc5536d74df (patch) | |
tree | bde3c4df3b2cc4073cd6c2b4a6af0f8700f17305 /program/include/rcube_contacts.php | |
parent | 58892824a6ee7f9a545372730b615ec9abafbe5c (diff) |
Always set changed date when marking a DB record as deleted + provide a cleanup script
Diffstat (limited to 'program/include/rcube_contacts.php')
-rw-r--r-- | 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 dd37972c2..b8307d49a 100644 --- a/program/include/rcube_contacts.php +++ b/program/include/rcube_contacts.php @@ -403,16 +403,10 @@ class rcube_contacts extends rcube_addressbook 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 @@ class rcube_contacts extends rcube_addressbook } /** - * 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()." |