Commit graph

561 commits

Author SHA1 Message Date
Aleksander Machniak
5c6a7a2d6f CalDAV driver 2022-10-11 15:27:59 +02:00
Aleksander Machniak
af5461eb76 CalDAV driver 2022-10-06 15:59:53 +02:00
Aleksander Machniak
b0f306eaf1 Remove sensitivity settings 2022-09-14 12:45:30 +02:00
Aleksander Machniak
869bde56a8 Fix handling alarms related to the end of the event 2022-08-30 11:14:22 +02:00
Aleksander Machniak
24d2633ff6 Calendar: Fix attaching files on event creation 2022-01-13 12:12:20 +01:00
Aleksander Machniak
54f34fa71e Fix logging XML 2021-03-19 12:30:34 +01:00
Aleksander Machniak
d886a3bdfc Fix fatal error introduced with 'kolab_format_error_log' 2021-03-19 09:01:14 +01:00
Aleksander Machniak
5e3b3c455a Add a way to log xml payload on kolab format error 2021-03-17 13:38:06 +01:00
Aleksander Machniak
87fbaea696 PHP8 compatibility fixes
Summary: PHP8 fixes, CS fixes, short array syntax, indentation

Reviewers: #roundcube_kolab_plugins_developers

Subscribers: #roundcube_kolab_plugins_developers

Tags: #roundcube_kolab_plugins

Differential Revision: https://git.kolab.org/D2185
2021-02-01 08:30:34 +01:00
Christian Mollekopf
b4b3a48893 Remove folder typedata in-memory cache
Summary:
This caused the syncroton Ping command to miss new task folders.
Because the Ping command is long running we use:

    rcube::get_instance()->get_storage()->clear_cache('mailboxes', true);

To clear the cache before listing the folders. However, this doesn't
clear the in-memory cache in kolab_storage.

In list_folders we then ended up in the branch returning the folder list directly from
that outdated in-memory cache and thus missed the update.

Since we already cache the folder list and metadata it doesn't seem necessary to
cache it again. Removing it thus gives us a single place to invalidate it.

Differential Revision: https://git.kolab.org/D2143
2021-01-22 14:44:45 +01:00
Aleksander Machniak
f8ba2e6fc7 Fix kolab cache sync issues
Summary: Use QRESYNC, get rid of "scheduled" cache reset, other small improvements

Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen

Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen

Subscribers: vanmeeuwen, #roundcube_kolab_plugins_developers

Differential Revision: https://git.kolab.org/D1726
2020-11-20 10:36:10 +01:00
Aleksander Machniak
112516794f Fix PHP 7.4 deprecation warning on implode() 2020-08-11 12:55:49 +02:00
Aleksander Machniak
be07d88150 Use ?: operator 2019-11-08 09:05:40 +01:00
Aleksander Machniak
ec5e9b31ef Fix object_prettyname() result for other user folders if the id cannot be resolved to username (Bifrost#T253094) 2019-10-28 13:27:47 +01:00
Aleksander Machniak
843fb0d69d Fix regression where user canonification didn't work (Bifrost#251480)
Which led to not working some functionality e.g. user-specific LDAP addressbook
2019-10-15 09:25:06 +02:00
Aleksander Machniak
e0b593ba52 Prevent from creating empty objects 2019-09-29 10:03:00 +00:00
Aleksander Machniak
f08efd9170 Tags: Fix clearing internal cache after removing a tag 2019-09-29 09:18:55 +00:00
Aleksander Machniak
80a5241a9d Support user_specific source in kolab_users_directory (Bifrost#T236416)
Move kolab_auth/kolab_auth_ldap to libkolab/lib/kolab_ldap.
It ends up much simpler to add user_specific support and unify some
code than replace use of kolab_auth_ldap with rcube_ldap.

This means that libkolab plugin does not depend on kolab_auth plugin
anymore, but kolab_auth depends on libkolab, which is better situation.
2019-08-19 14:06:11 +00:00
Aleksander Machniak
6ba9838467 Fix setting 'fileid' on file objects (Bifrost#T227815) 2019-07-15 11:21:30 +00:00
Aleksander Machniak
15b0b9626b Merge branch 'dev/perf' 2019-07-08 12:01:28 +02:00
Aleksander Machniak
15a38f87e0 Other user uid mapping for Chwala (Bifrost#T216238)
...also use format "Doe, Jane (jane.doe)" consistently everywhere.
2019-06-19 10:59:46 +00:00
Aleksander Machniak
de726e8cac Fix PHP Fatal error: Call to a member function get() on a non-object 2019-06-14 11:57:50 +00:00
Aleksander Machniak
acd1740a29 Replace other user folders uids with display name (Bifrost#T216238)
Extends existing functionality that worked in kolab plugins' UI
in a way that:
- ldap lookups are optionally cached
- replacing is done also in Mail/Settings parts of the UI
- object_prettyname() uses the same technique as folders listings
2019-06-13 13:33:35 +00:00
Aleksander Machniak
4136938a7a Don't store invalid objects in cache
For example, before the change it was possible to end up with
a task object in a calendar folder cache.
2019-05-16 08:33:27 +00:00
Aleksander Machniak
4b955adbbd Use INSERT ... ON DUPLICATE KEY UPDATE in kolab cache
Bifrost#T61987
2019-05-07 10:37:45 +02:00
Aleksander Machniak
e69f920de3 Slim down kolab cache (drop xml column, change data format) (Bifrost#T61991) 2019-05-07 10:37:45 +02:00
Aleksander Machniak
f052c02103 Use cache fast-mode for contact groups
The same as tags/relations these objects are used quite often, so
we store group members in database and we can access them without
accessing imap.
2019-05-07 10:37:45 +02:00
Aleksander Machniak
bb419c34cb Use cache fast-mode for counting tasks 2019-05-07 10:37:45 +02:00
Aleksander Machniak
6ca01dc8c9 Fast-mode for configuration objects 2019-05-07 10:37:45 +02:00
Aleksander Machniak
46af51d315 Fast-mode for events/tasks/contacts and some code improvements 2019-05-07 10:37:45 +02:00
Aleksander Machniak
e05d7987f6 Fast-mode for files 2019-05-07 10:37:45 +02:00
Aleksander Machniak
818649624b Fast-mode for contacts
... there's still a place for improvement, we can make more requests use fast-mode.
2019-05-07 10:37:45 +02:00
Aleksander Machniak
2c98bf2811 Fast-mode for selecting kolab objects
... for now used only by kolab_notes plugin
2019-05-07 10:37:45 +02:00
Aleksander Machniak
f3d4dadffd Fix regression in handling contact groups 2019-05-07 10:37:45 +02:00
Aleksander Machniak
e1a4152820 Add possibility to bypass indexes cache only 2019-05-07 10:37:44 +02:00
Aleksander Machniak
d4362d8836 Always fetch xml from IMAP and parse objects on select
Temporarily we still store data and xml as before, but do not use them on select.
2019-05-07 10:37:44 +02:00
Aleksander Machniak
fb72e36fa4 Small phpdoc fixes 2019-05-02 12:38:24 +02:00
Aleksander Machniak
aef7452bd3 kolab_date_recurrence improvements with some tests 2019-03-15 11:16:51 +00:00
Aleksander Machniak
a71caa9a51 Calendar: Fix regression where changing attendee status for an existing event wasn't working
Also fixed bug where allday event accourrence could have been moved
one day back when changing the attendee status (action=rsvp).
2019-03-14 15:08:53 +00:00
Aleksander Machniak
b1640e16f4 Fix misleading error message on IMAP errors 2019-02-18 12:04:08 +01:00
Aleksander Machniak
83ac298cd7 Fix handling EXDATEs in different timezone than the event timezone (Bifrost#T154553) 2018-12-13 12:36:20 +00:00
Aleksander Machniak
ce097cdbef Fix support for imap hierarchy delimiter different than a slash char (Bifrost#T71208) 2018-05-03 10:32:51 +00:00
Aleksander Machniak
a444b5b801 Unify/de-duplicate code for folder form handling 2018-03-28 15:36:08 +00:00
Aleksander Machniak
6bba054b0e Merge branch 'master' into dev/elastic 2018-03-22 19:31:41 +00:00
Aleksander Machniak
fa9d09939c More attachment handling code de-duplication 2018-03-19 18:08:56 +00:00
Aleksander Machniak
5b57dd9449 De-duplicate attachments handling code, move it to libkolab plugin 2018-03-19 13:27:55 +01:00
Aleksander Machniak
700a64b40d Fix finding first occurrence for all-day events (Bifrost#T82770)
Bug caused e.g. annual all-day events not displayed on the first occurrence (start date)
2018-03-16 15:16:04 +00:00
Aleksander Machniak
8673bfd15f Fix handling reminder trigger definition
... and ignore duplicate reminders
2017-12-04 11:52:54 +01:00
Jeroen van Meeuwen (Kolab Systems)
ab9f33fbc4 Avoid PHP 7 compatibility warnings 2017-11-28 10:39:31 +01:00
Aleksander Machniak
d331f73d01 Fix performance issue in custom_displayname() when imap_cache is disabled (Bifrost#T51291) 2017-10-17 09:05:29 +02:00