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
Aleksander Machniak
02d3759724
Workaround libkolabxml error on Etc/UTC timezone (Bifrost#T43830)
2017-10-06 08:32:58 +02:00
Aleksander Machniak
a1cd95152c
Align event start date with the first occurrence
...
Summary:
When a recurring event start date does not match a recurrence pattern
(e.g. an event recurring on Fridays is created on Thursday),
we move the start date to the date of the first occurrence.
There's also a checkbox to keep the old behavior where the
start date was not modified.
Reviewers: vanmeeuwen
Reviewed By: vanmeeuwen
Differential Revision: https://git.kolab.org/D536
2017-09-12 13:53:34 +02:00
Aleksander Machniak
011fa7949d
Add support for prefix search in kolab cache
2017-07-19 12:54:47 +02:00
Aleksander Machniak
17d18bebb1
Skip redundant folder type lookup on folders list
2017-06-02 15:15:00 +02:00
Aleksander Machniak
007fc47bfc
Fix saving BYPOS recurrence with a number preceding a day name (Bifrost#T29113)
...
A regression caused by T1582: Support BYSETPOS recurrence on event import
2017-04-06 13:38:05 +02:00
Aleksander Machniak
24143cc17e
Fix redundant updates of private $tags property
...
This could cause invalid result of get_tags() method after save_tags() use.
2017-03-31 12:44:57 +02:00
Aleksander Machniak
45ce87f545
Remove duplicates on cache synchronization.
...
https://issues.kolab.org/show_bug.cgi?id=4067 and (Bifrost#TT20881)
It happens that IMAP folder may contain many objects with the same UID.
The precise reason for this is unknown, but it can be e.g. a faulty
client or an error between "create a new object instance" and "remove the
old one". It causes various issues when editing such objects.
With the change we assume that the most recent object (with max. IMAP UID)
is the one that should be used and all the older instances will be removed
automatically.
2017-02-16 12:49:11 +01:00
Aleksander Machniak
d6ea9104ba
Fix "unknown" dates in event dialog (Bifrost#T21544)
2017-01-20 10:38:21 +01:00
Aleksander Machniak
8edb261a0b
T1582: Support BYSETPOS recurrence on event import
...
As libkolabxml does not support it at all it is a partial support.
We support most common cases of monthly recurrence with BYDAY specification,
e.g. "last/first weekday in a month", by converting BYSETPOS to BYDAY.
2016-12-27 11:38:21 +01:00
Aleksander Machniak
c4f4f52aa0
T1841: Support non-all-day exceptions to all-day events and vice-versa
2016-12-30 05:33:02 -05:00
Aleksander Machniak
bbe88f6637
Prevent from libkolabxml errors on Etc/GMT timezone (Bifrost#T15706)
2016-12-27 04:13:56 -05:00
Aleksander Machniak
1e68b24b70
Merge branch 'arcpatch-D203'
2016-10-18 09:05:12 +02:00
Aleksander Machniak
cdfb979b22
T1268: Fix bug where forever recurring events could not be displayed
...
Summary:
Actually it sets the internal end time interval to 100 years for all kind
of events. Before it was 100 for yearly events, but only 10 for weekly.
Fixes T1268.
Reviewers: #roundcube_kolab_plugins_developers
Maniphest Tasks: T1268
Differential Revision: https://git.kolab.org/D203
2016-10-18 09:04:54 +02:00
Aleksander Machniak
d42db71fa4
T1479: Fix delegation context selection on delegator's invitation handling
2016-09-07 09:51:08 -04:00
Aleksander Machniak
87b18454ae
Workaround libkolabxml bug where internally set 'created' date is not valid (UTC)
2016-09-02 10:26:59 +02:00
Aleksander Machniak
2056b92c39
T1382: Fix storing COMPLETED/IN-PROCESS in partstat field
2016-07-27 09:13:13 -04:00
Aleksander Machniak
bb1dfa9c10
Fix PHP Fatal error: Call to a member function get_hierarchy_delimiter() on a non-object (T1252)
2016-05-04 10:40:49 +02:00
Aleksander Machniak
9d883ed07d
Properly set skip_deleted and threading on Kolab storage IMAP operations (T1145)
...
Summary:
Fixes race-conditions between Kolab folders and Roundcube core
where skip_deleted/threading could be set for operations outside
of Kolab plugins, causing e.g. inability to see \Deleted messages.
Fixes T1145.
Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen
Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen
Maniphest Tasks: T1145
Differential Revision: https://git.kolab.org/D112
2016-04-14 11:42:00 +02:00
Aleksander Machniak
9fb5775d82
Fix "PHP Fatal error: Call to undefined method kolab_format_task::to_libcal()" (T1176)
2016-04-07 10:47:45 +02:00
Aleksander Machniak
3e1346dc6c
CS fixes
2016-04-07 10:46:24 +02:00
Aleksander Machniak
a673d3c8f5
Fix indentation
2016-03-23 11:44:46 +01:00
Aleksander Machniak
fc93828311
Fix merging attachments list on event/task update from iTip ( #5342 )
...
Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen
Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen
Subscribers: vanmeeuwen
Projects: #roundcube_kolab_plugins
Differential Revision: https://git.kolab.org/D96
2016-03-17 16:38:36 +01:00
Aleksander Machniak
2afb5714c5
Fix duplicated events in other users calendar if its subfolders are active ( #5340 )
...
Differential Revision: https://git.kolab.org/D94
2016-03-11 11:41:18 +01:00
Aleksander Machniak
7634368e89
Prevent from fatal errors on events without end date ( #5307 )
2016-03-10 16:43:10 +01:00
Aleksander Machniak
9d5dd5bf16
Unified get_objects/count/get_uids/select methods argument handling ( #5209 )
2016-03-09 11:46:26 +01:00
Aleksander Machniak
9daf32495a
Fix regression in get_object() (T1098)
...
Also remove the second argument as it was useless.
2016-03-07 17:54:01 +01:00
Aleksander Machniak
6c25221b95
Performance: Make objects moving faster (less SQL and less IMAP operations) using COPYUID
2016-02-24 13:57:58 +01:00
Aleksander Machniak
9ac901b90a
Performance: SKip some SQL queries on "empty" tasklist refresh
2016-02-24 12:54:08 +01:00
Aleksander Machniak
46f962833f
Performance: Better displayname annotation handling
2016-02-23 13:36:22 +01:00
Aleksander Machniak
644df15bad
Performance: Skip one SELECT query when deleting relations
2016-02-22 15:37:12 +01:00
Aleksander Machniak
2a9948b827
Performance: Skip some redundant SELECT queries on event update
2016-02-22 15:19:58 +01:00
Aleksander Machniak
b6a9141764
Performance: Don't initialize configuration folders until they are needed
2016-02-22 12:17:22 +01:00
Aleksander Machniak
a7e3a938a7
Unify mail-relations handling across plugins
2016-02-21 19:41:49 +01:00
Aleksander Machniak
d96689620f
Performance: Get event-to-mail relations once per events list, instead of doing SELECT for every event (including recurrences)
2016-02-21 19:09:04 +01:00
Aleksander Machniak
922d8de6d0
Performance: Skip another few cache selects
2016-02-21 18:17:42 +01:00
Aleksander Machniak
9972823957
Performance: Optimize get_message_relations() to use one query per-folder less
...
Fix bug where in kolab_storage::select() could not initialize/reset folder cache properly
2016-02-13 17:57:29 +01:00
Aleksander Machniak
11ce37ef17
Performance: Limit number of SQL queries when "attaching" relations/tags to list of tasks/notes ( #3969 )
2016-02-13 17:35:29 +01:00
Aleksander Machniak
446cd0dfe1
Performance: Limit number of SQL queries needed for "object relations update" operation
2016-02-13 13:09:59 +01:00
Aleksander Machniak
52053f355a
Performance: Optimize kolab_storage_folder::get_object() to use one sql query instead of two
...
Before the change to get an object by UID we first resolve UID to IMAP-UID
and then fetch the object data by IMAP-UID - two select queries. Now we
directly select the data by UID.
2016-02-13 11:33:01 +01:00
Aleksander Machniak
bd8166b81a
Fix regression in last optimisations
2016-02-13 09:16:38 +01:00
Aleksander Machniak
2172f4340c
Performance: Consolidate metadata requests ( #3989 )
...
This changes number of cache requests from 4 to 2 for each groupware folder.
2016-02-12 13:45:58 +01:00
Aleksander Machniak
e7eed4dff1
Make Content-Type check case-insensitive ( #5109 )
2016-02-11 15:37:21 +01:00
Aleksander Machniak
aab41cfa16
Fix bug where event occurrence with no attendees inherited attendees of the event ( #5300 )
...
The object was created/updated corretly, the bug was in exception properties resolving.
2016-02-11 11:58:33 +01:00
Aleksander Machniak
a0aff58604
Fix bug where some database column length limit could be exceeded ( #5291 )
...
Which cased e.g. sql errors when creating a contact group with name > 255 characters.
2016-02-09 12:11:41 +01:00
Thomas Bruederli
fe21650430
Make sure the _instance property is stored with the recurrence exception ( #5277 )
2015-11-20 12:18:27 +01:00
Aleksander Machniak
21130bf9e6
Properly reset $recurrence_id in a loop
2015-09-29 12:24:45 +02:00
Aleksander Machniak
d2f74ee9fa
Performance: Skip SELECT query if we already know it will return no records (from previous SELECT COUNT(*))
2015-08-27 14:13:36 +02:00