Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F118847199
D5310.1776035210.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
10 KB
Referenced Files
None
Subscribers
None
D5310.1776035210.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,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 12, 11:06 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18854220
Default Alt Text
D5310.1776035210.diff (10 KB)
Attached To
Mode
D5310: Kolabobjects compat mode via config overlays
Attached
Detach File
Event Timeline