plugins/kolab_addressbook

Thomas Brüderli bruederli at kolabsys.com
Fri Jun 27 11:15:25 CEST 2014


 plugins/kolab_addressbook/kolab_addressbook.js  |    6 +++---
 plugins/kolab_addressbook/kolab_addressbook.php |   11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit d777456fcf83900a999f7263e97d5e22af6aa374
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Fri Jun 27 11:15:17 2014 +0200

    Load groups when adding an address book folder from search

diff --git a/plugins/kolab_addressbook/kolab_addressbook.js b/plugins/kolab_addressbook/kolab_addressbook.js
index c519a67..c213a6b 100644
--- a/plugins/kolab_addressbook/kolab_addressbook.js
+++ b/plugins/kolab_addressbook/kolab_addressbook.js
@@ -161,9 +161,9 @@ if (window.rcmail) {
                 .addEventListener('insert-item', function(data) {
                     // register new address source
                     rcmail.env.address_sources[data.id] = rcmail.env.contactfolders[data.id] = data.data;
-                    if (data.data.subscribed)
-                        rcmail.http_post('plugin.book-subscribe', { _source:data.id, _permanent:1 });
-                    // TODO: load groups and add them to the list
+                    // subscribe folder and load groups to add them to the list
+                    if (!data.data.virtual)
+                      rcmail.http_post('plugin.book-subscribe', { _source:data.id, _permanent:data.data.subscribed?1:0, _groups:1 });
                 })
                 .addEventListener('search-complete', function(data) {
                     if (data.length)
diff --git a/plugins/kolab_addressbook/kolab_addressbook.php b/plugins/kolab_addressbook/kolab_addressbook.php
index c91d7f5..b07e439 100644
--- a/plugins/kolab_addressbook/kolab_addressbook.php
+++ b/plugins/kolab_addressbook/kolab_addressbook.php
@@ -743,6 +743,17 @@ class kolab_addressbook extends rcube_plugin
                 $success |= $folder->subscribe(intval($_POST['_permanent']));
             if (isset($_POST['_active']))
                 $success |= $folder->activate(intval($_POST['_active']));
+
+            // list groups for this address book
+            if (!empty($_POST['_groups'])) {
+                $abook = new rcube_kolab_contacts($folder->name);
+                foreach ((array)$abook->list_groups() as $prop) {
+                    $prop['source'] = $id;
+                    $prop['id'] = $prop['ID'];
+                    unset($prop['ID']);
+                    $this->rc->output->command('insert_contact_group', $prop);
+                }
+            }
         }
         
         if ($success) {




More information about the commits mailing list