summaryrefslogtreecommitdiff
path: root/program/include/rcube_contacts.php
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2010-04-15 06:33:30 +0000
committerthomascube <thomas@roundcube.net>2010-04-15 06:33:30 +0000
commita35062a1eba5c6c15f703686cd4fecc5536d74df (patch)
treebde3c4df3b2cc4073cd6c2b4a6af0f8700f17305 /program/include/rcube_contacts.php
parent58892824a6ee7f9a545372730b615ec9abafbe5c (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.php18
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()."