Commit graph

649 commits

Author SHA1 Message Date
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
Aleksander Machniak
5966cff343 Fix handling of compressed HTTP responses with HTTP_Request2's SplObserver (#4507)
This fixes broken attachment bodies when attached "from cloud" and
Chwala API responses are compressed. This is done by forcing use
of CURL adapter for HTTP_Request2 object.
2015-02-19 05:02:54 -05: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
Jeroen van Meeuwen (Kolab Systems)
020258dd61 Update versions and also update the versions of those plugins with new (versioned) requirements 2015-02-14 14:26:24 +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
cea470c81c Disable foreign-key checks when dropping tables 2015-02-05 17:03:11 +01:00
Thomas Bruederli
67568dda20 Update schema version string; remove outdated postgres database schema 2015-02-05 16:15:16 +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
Jeroen van Meeuwen (Kolab Systems)
8d10498a8f Update version numbers and dependencies 2015-02-04 19:29:57 +01:00
Aleksander Machniak
2c9c463e84 Add optional $type argument in kolab_storage::get_folder() 2015-02-04 05:41:47 -05:00
Thomas Bruederli
e97b087f79 Add more functional tests for kolab_storage_folder 2015-02-04 10:25:39 +01: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
Jeroen van Meeuwen (Kolab Systems)
7c146ea90a Update versions to 3.2.3 2015-01-21 21:21:11 +01:00
Aleksander Machniak
8e0946f482 Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube 2015-01-16 08:06:40 -05:00
Aleksander Machniak
bd9b14e3c6 Fix problem with disappearing events caused by DB errors (#4257)
Object "tags" string may for some object types be longer than 255 characters.
Modified "tags" column type to text (clob in Oracle) for all kolab_cache_* tables.
2015-01-16 08:02:51 -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
Thomas Bruederli
0f32fa4456 Shell script to test cache records 2014-11-24 18:54:05 +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
Thomas Bruederli
a976842f03 Allow to limit user search (from new folder navigation) in multi-domain setups:
Provide the 'kolab_users_directory' config option with placeholders %dc, %d, %u,
%fu or %dn in base_dn or filter properties.
2014-11-17 14:33:04 +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
e0422634ad Fix so DDL script for Oracle can be executed in SQLPlus (#3788) 2014-10-27 12:13:50 +01:00
Aleksander Machniak
2a46aceb2b Use new rcube_message::get_part_body() method 2014-10-22 14:58:47 +02:00