Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117959112
D5310.1775498757.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
11 KB
Referenced Files
None
Subscribers
None
D5310.1775498757.diff
View Options
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
@@ -1,12 +1,4 @@
<?php
- if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
- $config['calendar_driver'] = "kolab";
- } else {
- $config['calendar_driver'] = "caldav";
- # This is for internal access
- $config['calendar_caldav_server'] = getenv('CALENDAR_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
- }
-
# This is for external access
$config['calendar_caldav_url'] = 'https://%h/dav/calendars/%u/%i';
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
@@ -8,22 +8,9 @@
// ------------------------------------------------
-// Main files source, backend driver which handles
-// authentication and configuration of Chwala
-// Note: Currently only 'kolab' is supported
-if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
- $config['fileapi_backend'] = 'kolab';
-} else {
- $config['fileapi_backend'] = 'kolabfiles';
- // This is how chwala connects to the kolabfiles backend
- $config['fileapi_kolabfiles_baseuri'] = getenv('FILEAPI_KOLABFILES_BASEURI');
-}
-
-
// Enabled external storage drivers
// Note: Currenty only 'seafile' and webdav is available
// $config['fileapi_drivers'] = array('seafile', 'webdav');
-// $config['fileapi_drivers'] = array('webdav');
// Roundcube plugins that have to be enabled for Chwala
$config['fileapi_plugins'] = [];
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
@@ -82,41 +82,31 @@
$plugins = [
'acl',
'archive',
- 'calendar',
- 'jqueryui',
'kolab',
+ // 'calendar',
+ 'jqueryui',
'kolab_activesync',
- 'kolab_addressbook',
- 'kolab_files',
- 'kolab_tags',
+ // 'kolab_addressbook',
+ // 'kolab_files',
+ // 'kolab_tags',
'managesieve',
'newmail_notifier',
'odfviewer',
'redundant_attachments',
- 'tasklist',
+ // 'tasklist',
'enigma',
+ // contextmenu must be after kolab_addressbook (#444)
+ 'contextmenu',
];
- if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
- $plugins[] = 'kolab_config';
- $plugins[] = 'kolab_folders';
- $plugins[] = 'kolab_notes';
-
- // These require ldap
- // $plugins[] = 'kolab_auth';
- // $plugins[] = 'kolab_delegation';
- }
-
if ($disabledPlugins = getenvlist('DISABLED_PLUGINS')) {
$plugins = array_diff($plugins, $disabledPlugins);
}
+
if ($extraPlugins = getenvlist('EXTRA_PLUGINS')) {
$plugins = array_merge($plugins, $extraPlugins);
}
- // contextmenu must be after kolab_addressbook (#444)
- $plugins[] = 'contextmenu';
-
$config['plugins'] = $plugins;
// Do not show deleted messages, mark deleted messages as read,
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab.inc.php
@@ -15,3 +15,40 @@
// Lifetime of cache entries. Possible units: s, m, h, d, w
$config['kolab_client_cache_ttl'] = '10m';
+
+$config['configuration-overlays']['kolabobjects'] = [
+ 'plugins' => ['kolab_config', 'kolab_folders', 'kolab_notes'],
+ 'calendar_driver' => 'kolab',
+ 'fileapi_backend' => 'kolab',
+ 'kolab_tags_driver' => 'kolab',
+ 'tasklist_driver' => 'kolab'
+];
+
+$config['configuration-overlays']['kolab4'] = [
+ 'calendar_driver' => 'caldav',
+ 'calendar_caldav_server' => getenv('CALENDAR_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav",
+ 'fileapi_backend' => 'kolabfiles',
+ 'fileapi_kolabfiles_baseuri' => getenv('FILEAPI_KOLABFILES_BASEURI'),
+ 'activesync_storage' => 'kolab4',
+ 'activesync_dav_server' => getenv('CALENDAR_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav",
+ 'kolab_tags_driver' => 'annotate',
+ 'tasklist_driver' => 'caldav',
+ 'tasklist_caldav_server' => getenv('TASKLIST_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav",
+];
+
+$config['configuration-overlays']['activesync'] = [
+ 'plugins' => ['kolab_activesync']
+];
+
+$config['configuration-overlays']['2fa'] = [
+ 'plugins' => ['kolab_2fa']
+];
+
+$config['configuration-overlays']['groupware'] = [
+ 'plugins' => ['calendar', 'kolab_files', 'kolab_addressbook', 'kolab_tags', 'kolab_notes', 'tasklist']
+];
+
+if ($disabledPlugins = getenvlist('DISABLED_PLUGINS')) {
+ $config['configuration-overlays']['kolabobjects']['plugins'] = array_diff($config['configuration-overlays']['groupware']['plugins'], $disabledPlugins);
+ $config['configuration-overlays']['groupware']['plugins'] = array_diff($config['configuration-overlays']['groupware']['plugins'], $disabledPlugins);
+}
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_syncroton.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_syncroton.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_syncroton.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_syncroton.inc.php
@@ -5,11 +5,11 @@
// Enables ActiveSync protocol debuging
$config['activesync_debug'] = getenv('ACTIVESYNC_DEBUG');
-if (getenv('KOLABOBJECTS_COMPAT_MODE') != "true") {
- // Configure for dav backend
- $config['activesync_storage'] = 'kolab4';
- $config['activesync_dav_server'] = getenv('CALENDAR_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
-}
+// if (getenv('KOLABOBJECTS_COMPAT_MODE') != "true") {
+// // Configure for dav backend
+// $config['activesync_storage'] = 'kolab4';
+// $config['activesync_dav_server'] = getenv('CALENDAR_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+// }
// If specified all ActiveSync-related logs will be saved to this file
// Note: This doesn't change Roundcube Framework log locations
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_tags.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_tags.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_tags.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_tags.inc.php
@@ -1,8 +1,8 @@
<?php
// Storage backend type (database, kolab, annotate)
-if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
- $config['kolab_tags_driver'] = 'kolab';
-} else {
- $config['kolab_tags_driver'] = 'annotate';
-}
+// if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
+// $config['kolab_tags_driver'] = 'kolab';
+// } else {
+// $config['kolab_tags_driver'] = 'annotate';
+// }
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/libkolab.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/libkolab.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/libkolab.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/libkolab.inc.php
@@ -8,10 +8,6 @@
$config['kolab_cache'] = true;
- if (getenv('KOLABOBJECTS_COMPAT_MODE') != "true") {
- $config['kolab_dav_sharing'] = "sharing";
- }
-
$config['kolab_ssl_verify_host'] = false;
$config['kolab_ssl_verify_peer'] = false;
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
@@ -1,12 +1,5 @@
<?php
-if (getenv('KOLABOBJECTS_COMPAT_MODE') == "true") {
- $config['tasklist_driver'] = 'kolab';
-} else {
- $config['tasklist_driver'] = 'caldav';
- $config['tasklist_caldav_server'] = getenv('TASKLIST_CALDAV_SERVER') ?: "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
-}
-
// default sorting order of tasks listing (auto, datetime, startdatetime, flagged, complete, changed)
$config['tasklist_sort_col'] = '';
diff --git a/src/app/Http/Controllers/API/V4/ConfigController.php b/src/app/Http/Controllers/API/V4/ConfigController.php
--- a/src/app/Http/Controllers/API/V4/ConfigController.php
+++ b/src/app/Http/Controllers/API/V4/ConfigController.php
@@ -22,36 +22,27 @@
}
$config = [
- 'plugins' => [],
+ 'kolab-configuration-overlays' => [],
];
$skus = $user->skuTitles();
+ // TODO conditionally switch to kolabobjects
+ $config['kolab-configuration-overlays'][] = 'kolab4';
+
if (in_array('activesync', $skus)) {
- $config['plugins'][] = 'kolab_activesync';
+ $config['kolab-configuration-overlays'][] = 'activesync';
}
if (in_array('2fa', $skus)) {
- $config['plugins'][] = 'kolab_2fa';
+ $config['kolab-configuration-overlays'][] = '2fa';
}
if (in_array('groupware', $skus)) {
- $config['plugins'][] = 'calendar';
- $config['plugins'][] = 'kolab_files';
- $config['plugins'][] = 'kolab_addressbook';
- $config['plugins'][] = 'kolab_tags';
- // $config['plugins'][] = 'kolab_notes';
- $config['plugins'][] = 'tasklist';
- } else {
- // disable groupware plugins in case they are enabled by default
- $config['calendar_disabled'] = true;
- $config['kolab_files_disabled'] = true;
- // $config['kolab_addressbook_disabled'] = true;
- // $config['kolab_notes_disabled'] = true;
- $config['kolab_tags_disabled'] = true;
- $config['tasklist_disabled'] = true;
+ $config['kolab-configuration-overlays'][] = 'groupware';
}
+
// TODO: Per-domain configuration, e.g. skin/logo
// $config['skin'] = 'apostrophy';
// $config['skin_logo'] = 'data:image/svg+xml;base64,'
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Apr 6, 6:05 PM (17 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18838697
Default Alt Text
D5310.1775498757.diff (11 KB)
Attached To
Mode
D5310: Kolabobjects compat mode via config overlays
Attached
Detach File
Event Timeline