From b3b04f42b16c4df3290c3b4f36f646ae6ffb1a70 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 7 Jun 2013 10:39:35 +0200 Subject: [PATCH] Fix deleting addressbook folder, disable some commands after delete --- plugins/kolab_addressbook/kolab_addressbook.js | 5 ++++- plugins/kolab_addressbook/kolab_addressbook.php | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/kolab_addressbook/kolab_addressbook.js b/plugins/kolab_addressbook/kolab_addressbook.js index 11965d5b..cf8e5791 100644 --- a/plugins/kolab_addressbook/kolab_addressbook.js +++ b/plugins/kolab_addressbook/kolab_addressbook.js @@ -89,7 +89,7 @@ rcube_webmail.prototype.book_delete_done = function(id, recur) var n, groups = this.env.contactgroups, sources = this.env.address_sources, olddata = sources[id]; - +alert(id); this.treelist.remove(id); for (n in groups) @@ -104,8 +104,11 @@ rcube_webmail.prototype.book_delete_done = function(id, recur) if (recur) return; + this.enable_command('group-create', 'book-edit', 'book-delete', false); + // remove subfolders olddata.realname += this.env.delimiter; +alert(olddata.realname) for (n in sources) if (sources[n].realname && sources[n].realname.indexOf(olddata.realname) == 0) this.book_delete_done(n, true); diff --git a/plugins/kolab_addressbook/kolab_addressbook.php b/plugins/kolab_addressbook/kolab_addressbook.php index 3f85fa73..ac38f6a9 100644 --- a/plugins/kolab_addressbook/kolab_addressbook.php +++ b/plugins/kolab_addressbook/kolab_addressbook.php @@ -495,9 +495,13 @@ class kolab_addressbook extends rcube_plugin $folder = trim(get_input_value('_source', RCUBE_INPUT_GPC, true, 'UTF7-IMAP')); if (kolab_storage::folder_delete($folder)) { + $storage = $this->rc->get_storage(); + $delimiter = $storage->get_hierarchy_delimiter(); + $this->rc->output->show_message('kolab_addressbook.bookdeleted', 'confirmation'); $this->rc->output->set_env('pagecount', 0); $this->rc->output->command('set_rowcount', rcmail_get_rowcount_text(new rcube_result_set())); + $this->rc->output->command('set_env', 'delimiter', $delimiter); $this->rc->output->command('list_contacts_clear'); $this->rc->output->command('book_delete_done', kolab_storage::folder_id($folder)); }