Commit graph

441 commits

Author SHA1 Message Date
Aleksander Machniak
c0129f7768 Use 'organization' field for sorting if display name is not set (#3172) 2015-02-24 12:51:00 -05:00
Thomas Bruederli
b41f2a05cb Fix rescheduling and notification on change of recurrence rules 2015-02-20 12:32:20 +01:00
Thomas Bruederli
02ef2e6050 Split recurring event into a new series when modifying with this-and-future option (#4386); optimize copying of attachments into new event 2015-02-20 00:11:40 +01:00
Thomas Bruederli
026d62d235 Avoid comparison errors if recurrence is set to '' (used to unset recurrence rules) 2015-02-19 15:58:32 +01:00
Thomas Bruederli
61037eb97c Fix RSVP flag in iTip REQUESTS 2015-02-19 15:56:46 +01:00
Thomas Bruederli
ac2bd4700f Store recurrence-id for single (non-recurring) events and use for iTip replies 2015-02-19 15:13:13 +01:00
Thomas Bruederli
422bb0a298 Fix RSVP flag in iCal and storage (defaults to false); remove redundant information from ical PRODID 2015-02-18 10:21:15 +01:00
Thomas Bruederli
6a5a814834 Don't remove properties from exceptions which are equal to the master event. KE17 says:
A recurrence exception SHALL copy ALL properties of the base event, and adjust as required,
and it SHALL NOT be applied on top of the orginial event properties (The exception replaces
the complete original event definition for the specific occurrence).
2015-02-16 15:59:50 +01:00
Thomas Bruederli
aaaa9c5818 Take differing parstat values in recurrence exceptions into account when querying for pending/declined/regular events:
- Colelct partstat tags from recurrence exceptions when caching
- Querying for 'tags != x-partstat:<email>:needs-action' may miss some valid records
- Do post-filtering on all events, including recurring instances
2015-02-16 11:00:26 +01:00
Thomas Bruederli
108fae9dd0 Correctly save 'this-and-future' replies; remove some internal properties before saving (to cache) 2015-02-15 18:27:38 +01:00
Thomas Bruederli
d564e23aa3 Use the right list of properties relevenat for scheduling (follow-up of commit 12591358). Static vars don't work here as intended 2015-02-15 17:10:22 +01:00
Thomas Bruederli
12591358e6 Consider a change in recurrence rule significant for rescheduling (#4366) 2015-02-15 16:33:39 +01:00
Thomas Bruederli
78622133a9 Reliably identify recurrence instances throughout the application to support invitations of recurring events (#4387) 2015-02-15 14:32:31 +01:00
Thomas Bruederli
314501fdb2 Make the list of properties considered 'significant' for scheduling configurable 2015-02-12 11:54:51 +01:00
Thomas Bruederli
ad55fc706d Fix handling of Recurrence-ID properties for recurrence exceptions to comply with RFC 5545 (#4385) 2015-02-12 10:08:22 +01:00
Thomas Bruederli
754a4d51bf Improve search in calendar: consider recurrence exceptions for indexing and matching (#4279); ignore order of search terms (boolean and matching) 2015-02-05 19:37:13 +01:00
Thomas Bruederli
39449c11ce Improve groupware object cache synchronization (#3933):
- store and compare the number of objects stored after last sync
- use a (configurable) refresh interval and periodically force re-sync

ATTENTION: requires database schema updates
2015-02-05 15:27:28 +01:00
Aleksander Machniak
2c9c463e84 Add optional $type argument in kolab_storage::get_folder() 2015-02-04 05:41:47 -05:00
Thomas Bruederli
b32c36f58f Fix subscription cache clearing after subscription changes 2015-02-04 10:25:16 +01:00
Thomas Bruederli
17e6662a23 Add unit/functional tests for kolab_storage_folder error checking methods 2015-02-03 22:14:06 +01:00
Thomas Bruederli
29645a4736 Fix db table reference; forward constructor argument (#4471) 2015-02-03 17:26:03 +01:00
Thomas Bruederli
948a68136d Handle possible errors from kolab_storage::get_folder() access (#4378) 2015-02-03 16:30:02 +01:00
Thomas Bruederli
5982ce8732 Add error checking/reporting facilities to kolab_storage_folder instances (#4378) 2015-02-03 13:15:56 +01:00
Thomas Bruederli
17cf1f4892 Update folder reference in cache (was accidentally removed in 038e269d) 2015-02-03 12:31:12 +01:00
Thomas Bruederli
038e269d51 Check (expected) folder type and disable access to folder contents or cache if invalid (#4378) 2015-01-29 16:48:42 +01:00
Thomas Bruederli
7fe08b2814 Cleanup recurrence exception data when saving events (#4318) 2015-01-28 17:27:16 +01:00
Thomas Bruederli
af216b50e3 Improve sync lock setting/reading to avoid race conditions (#4316) 2015-01-23 14:43:45 +01:00
Aleksander Machniak
23e4d1b25a Fix bug where relations/tags members changes were ignored on relation update (#4095) 2015-01-22 06:18:27 -05:00
Thomas Bruederli
0a51ccd5a4 Consolidate message reference handling functions into libkolab plugin (in preparation for #4161) 2015-01-13 22:19:52 +01:00
Aleksander Machniak
bfe6de5b54 Remove redundant updating of uid2msg map in synchronize() 2015-01-12 10:30:50 +01:00
Thomas Bruederli
854779406d Move utility function to libkolab for common use 2015-01-08 18:22:59 +01:00
Aleksander Machniak
c3e142094f Fix bug where configuration object UID was modified on object update (#4051) 2014-12-09 09:42:46 -05:00
Aleksander Machniak
815ab6596b Fix Content-Type of configuration objects (#4029) 2014-12-05 07:20:34 -05:00
Thomas Bruederli
ae93c7b345 Create domain-aware cache identifiers for groupware folders (#3991) 2014-11-27 09:33:40 +01:00
Aleksander Machniak
fb4f815e53 Fix bug where DateTime($date, null) throws an exception (#3965) 2014-11-22 12:10:06 -05:00
Aleksander Machniak
ac4f6e7562 Avoid unused variables (also fixed some bugs) found in static code analysis 2014-11-21 10:03:18 +01:00
Aleksander Machniak
e200122308 Fix reading configuration objects of type file_driver (#3900) 2014-11-12 03:19:38 -05:00
Thomas Bruederli
c6f5a8233b Fix handling of RSVP flags 2014-11-06 17:09:59 +01:00
Thomas Bruederli
8627b72357 Avoid hitting executing time limit when synchronizing cache (#3677):
This change will make the synchronization process abort before the time limit is reached.
The folder is not flagged as fully synchronized and subsequent requests will continue the synchronization.
Application scripts can read the public 'sync_complete' property and initiate a next sync request.
2014-11-04 13:04:57 +01:00
Aleksander Machniak
2a46aceb2b Use new rcube_message::get_part_body() method 2014-10-22 14:58:47 +02:00
Aleksander Machniak
6c8d7d4000 Add support for configuration./file_driver objects (#3775) 2014-10-14 07:37:14 -04:00
Thomas Bruederli
f505abb350 Keep kolab uids related to a message in memory for repeated queries 2014-10-13 18:12:59 +02:00
Thomas Bruederli
80f23d7d90 Fix email reference check in relation objects 2014-10-13 16:03:23 +02:00
Thomas Bruederli
ef7f457c02 Bugfixes for recent refactoring 2014-10-13 14:55:50 +02:00
Thomas Bruederli
6f0ef60f7a Add fall-back to the full uri for searching relations in cache 2014-10-13 14:48:59 +02:00
Thomas Bruederli
63b69871fe Fix typo 2014-10-13 13:55:45 +02:00
Thomas Bruederli
a807768c32 Move email link/relation handling functions to libkolab for common use 2014-10-13 12:38:57 +02:00
Thomas Bruederli
7db58444a7 Map timezone identifiers accepted by PHP but not known by libkolabxml (#3750) 2014-10-09 16:39:05 +02:00
Thomas Bruederli
a3d5f717a2 Fix moving events to another calendar/folder and reloading it (#3748) 2014-10-09 16:37:31 +02:00
Thomas Bruederli
372cf33d18 Use folder name for UID if writing to IMAP metadata fails 2014-09-25 10:09:58 +02:00