From dc6c4f4a28652f428a507b0335f418749cdbc3bd Mon Sep 17 00:00:00 2001 From: thomascube Date: Mon, 10 Oct 2011 20:15:46 +0000 Subject: Contact groups can have direct email addresses => distribution lists; enable 'compose' command for the selected group --- program/include/rcube_addressbook.php | 12 ++++++++++++ program/include/rcube_contacts.php | 33 +++++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 4 deletions(-) (limited to 'program/include') diff --git a/program/include/rcube_addressbook.php b/program/include/rcube_addressbook.php index 88f0aa900..7270f42fd 100644 --- a/program/include/rcube_addressbook.php +++ b/program/include/rcube_addressbook.php @@ -295,6 +295,18 @@ abstract class rcube_addressbook return array(); } + /** + * Get group properties such as name and email address(es) + * + * @param string Group identifier + * @return array Group properties as hash array + */ + function get_group($group_id) + { + /* empty for address books don't supporting groups */ + return null; + } + /** * Create a contact group with the given name * diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php index c810ce60e..a2eeffc8a 100644 --- a/program/include/rcube_contacts.php +++ b/program/include/rcube_contacts.php @@ -163,6 +163,29 @@ class rcube_contacts extends rcube_addressbook } + /** + * Get group properties such as name and email address(es) + * + * @param string Group identifier + * @return array Group properties as hash array + */ + function get_group($group_id) + { + $sql_result = $this->db->query( + "SELECT * FROM ".get_table_name($this->db_groups). + " WHERE del<>1". + " AND contactgroup_id=?". + " AND user_id=?", + $group_id, $this->user_id); + + if ($sql_result && ($sql_arr = $this->db->fetch_assoc($sql_result))) { + $sql_arr['ID'] = $sql_arr['contactgroup_id']; + return $sql_arr; + } + + return null; + } + /** * List the current set of contact records * @@ -774,8 +797,9 @@ class rcube_contacts extends rcube_addressbook $sql_result = $this->db->query( "UPDATE ".get_table_name($this->db_groups). " SET del=1, changed=".$this->db->now(). - " WHERE contactgroup_id=?", - $gid + " WHERE contactgroup_id=?". + " AND user_id=?", + $gid, $this->user_id ); $this->cache = null; @@ -799,8 +823,9 @@ class rcube_contacts extends rcube_addressbook $sql_result = $this->db->query( "UPDATE ".get_table_name($this->db_groups). " SET name=?, changed=".$this->db->now(). - " WHERE contactgroup_id=?", - $name, $gid + " WHERE contactgroup_id=?". + " AND user_id=?", + $name, $gid, $this->user_id ); return $this->db->affected_rows() ? $name : false; -- cgit v1.2.3