Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117914499
D5310.1775403390.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
9 KB
Referenced Files
None
Subscribers
None
D5310.1775403390.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/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,12 +5,6 @@
// 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 specified all ActiveSync-related logs will be saved to this file
// Note: This doesn't change Roundcube Framework log locations
$config['activesync_log_file'] = null;
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,2 @@
<?php
-// Storage backend type (database, kolab, 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
Sun, Apr 5, 3:36 PM (16 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18832892
Default Alt Text
D5310.1775403390.diff (9 KB)
Attached To
Mode
D5310: Kolabobjects compat mode via config overlays
Attached
Detach File
Event Timeline