From e6e2044d403cc0bef84b670db104616644476c09 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Thu, 3 Oct 2013 12:44:41 +0200 Subject: [PATCH] Add option to display direct CardDAV urls for Kolab address books in the Roundcube UI --- plugins/kolab_addressbook/config.inc.php.dist | 8 +++++++ .../kolab_addressbook/kolab_addressbook.js | 24 +++++++++++++++++++ .../kolab_addressbook/kolab_addressbook.php | 1 + .../lib/kolab_addressbook_ui.php | 7 +++++- .../lib/rcube_kolab_contacts.php | 18 ++++++++++++++ .../kolab_addressbook/localization/de_CH.inc | 2 ++ .../kolab_addressbook/localization/de_DE.inc | 2 ++ .../kolab_addressbook/localization/en_US.inc | 2 ++ 8 files changed, 63 insertions(+), 1 deletion(-) diff --git a/plugins/kolab_addressbook/config.inc.php.dist b/plugins/kolab_addressbook/config.inc.php.dist index 02745c84..0a0decfc 100644 --- a/plugins/kolab_addressbook/config.inc.php.dist +++ b/plugins/kolab_addressbook/config.inc.php.dist @@ -11,4 +11,12 @@ */ $rcmail_config['kolab_addressbook_prio'] = 0; +// Base URL to build fully qualified URIs to access calendars via CALDAV +// The following replacement variables are supported: +// %h - Current HTTP host +// %u - Current webmail user name +// %n - Folder name +// %i - Folder UUID +// $rcmail_config['kolab_addressbook_carddav_url'] = 'http://%h/iRony/addressbooks/%u/%i'; + ?> diff --git a/plugins/kolab_addressbook/kolab_addressbook.js b/plugins/kolab_addressbook/kolab_addressbook.js index b024fab9..58248806 100644 --- a/plugins/kolab_addressbook/kolab_addressbook.js +++ b/plugins/kolab_addressbook/kolab_addressbook.js @@ -18,6 +18,7 @@ rcube_webmail.prototype.set_book_actions = function() this.enable_command('book-create', true); this.enable_command('book-edit', 'book-delete', source && sources[source] && sources[source].kolab && sources[source].editable); + this.enable_command('book-showurl', source && sources[source] && sources[source].carddavurl); }; rcube_webmail.prototype.book_create = function() @@ -38,6 +39,29 @@ rcube_webmail.prototype.book_delete = function() } }; +rcube_webmail.prototype.book_showurl = function() +{ + var source = this.env.source ? this.env.address_sources[this.env.source] : null; + if (source && source.carddavurl) { + $('div.showurldialog:ui-dialog').dialog('close'); + + var $dialog = $('
').addClass('showurldialog').append('

'+rcmail.gettext('carddavurldescription', 'kolab_addressbook')+'

'), + textbox = $('