From 04adaac71b863e8b13303b945ac433b03644ed3f Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 31 Mar 2010 11:57:20 -0400
Subject: [PATCH] Complete address book interface class with group functions

---
 program/include/rcube_addressbook.php |   62 +++++++++++++++++++++++++++++++
 program/include/rcube_contacts.php    |    2 +
 2 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/program/include/rcube_addressbook.php b/program/include/rcube_addressbook.php
index ff525bc..b9f9f29 100644
--- a/program/include/rcube_addressbook.php
+++ b/program/include/rcube_addressbook.php
@@ -179,5 +179,67 @@
       /* empty for read-only address books */
     }
 
+    /**
+     * Create a contact group with the given name
+     *
+     * @param string The group name
+     * @return False on error, array with record props in success
+     */
+    function create_group($name)
+    {
+      /* empty for address books don't supporting groups */
+      return false;
+    }
+    
+    /**
+     * 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)
+    {
+      /* empty for address books don't supporting groups */
+      return false;
+    }
+    
+    /**
+     * Rename a specific contact group
+     *
+     * @param string Group identifier
+     * @param string New name to set for this group
+     * @return boolean New name on success, false if no data was changed
+     */
+    function rename_group($gid, $newname)
+    {
+      /* empty for address books don't supporting groups */
+      return false;
+    }
+    
+    /**
+     * Add the given contact records the a certain group
+     *
+     * @param string  Group identifier
+     * @param array   List of contact identifiers to be added
+     * @return int    Number of contacts added 
+     */
+    function add_to_group($group_id, $ids)
+    {
+      /* empty for address books don't supporting groups */
+      return 0;
+    }
+    
+    /**
+     * Remove the given contact records from a certain group
+     *
+     * @param string  Group identifier
+     * @param array   List of contact identifiers to be removed
+     * @return int    Number of deleted group members
+     */
+    function remove_from_group($group_id, $ids)
+    {
+      /* empty for address books don't supporting groups */
+      return 0;
+    }
 }
  
\ No newline at end of file
diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php
index 2964cde..070e00f 100644
--- a/program/include/rcube_contacts.php
+++ b/program/include/rcube_contacts.php
@@ -499,6 +499,7 @@
    *
    * @param string  Group identifier
    * @param array   List of contact identifiers to be added
+   * @return int    Number of contacts added 
    */
   function add_to_group($group_id, $ids)
   {
@@ -534,6 +535,7 @@
    *
    * @param string  Group identifier
    * @param array   List of contact identifiers to be removed
+   * @return int    Number of deleted group members
    */
   function remove_from_group($group_id, $ids)
   {

--
Gitblit v1.9.1