Commit graph

466 commits

Author SHA1 Message Date
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
Aleksander Machniak
2c58d048c0 Extend kolab_storage_config::get_tags() with possibility to search members by Message-ID and to set limit for better performance 2015-08-21 10:57:26 +02:00
Aleksander Machniak
a0ca17fb36 Fix missing events on edges of the view time range (when client timezone is different than server tz) (T698) 2015-08-18 12:39:55 +02:00
Aleksander Machniak
326e4ad9ad Support reminders relative to end/due date (RELATED=END) (T656)
Conflicts:

	plugins/libcalendaring/libvcalendar.php
2015-08-07 06:43:59 -04:00
Aleksander Machniak
3239eeb947 Don't use private namespace for folder uniqueid annotations (T491) 2015-07-21 04:36:34 -04:00
Aleksander Machniak
f575dace67 Fix so save() and delete() update in-memory tags cache (T133) - fixes duplicated tags issue 2015-06-24 07:08:35 -04:00
Aleksander Machniak
96ae7b7857 Fix PHP Fatal error: Call to undefined method kolab_storage_folder::raise_error() 2015-05-14 08:44:30 -04:00
Thomas Bruederli
562ed98bd2 Define get_uid() in kolab_storage_folder_api base class (#5023) 2015-05-05 11:57:21 +02:00
Thomas Bruederli
6effb4c9c3 Support X-APPLE-FILENAME parameter for attachments; make attachment cid really unique 2015-04-28 15:48:27 +02:00
Thomas Bruederli
a6daa4d10b Support dtstart/dtend parameters on free/busy query URLs 2015-04-27 18:06:36 +02:00
Aleksander Machniak
5cbcf8381c Fix (again) handling of shared folders in relation member URIs (#5006) 2015-04-23 18:01:10 +02:00
Thomas Bruederli
1e2089e2c2 Merge branch 'dev/sabre-vobject3'
Resolves T53
2015-04-22 17:20:55 +02:00
Thomas Bruederli
779fa16009 Fix and test kolab_storage_config::build_member_url() and kolab_storage_config::parse_member_url() with different namespaces (#5006) 2015-04-22 12:38:25 +02:00
Thomas Bruederli
284c2a6d0a Initialize class before using self::$config 2015-04-02 16:09:10 +02:00
Thomas Bruederli
c43040e4e1 Increase default timeout for Bonnie API requests 2015-03-31 15:10:42 +02:00
Aleksander Machniak
a67881cd8c Fix caching of contact keys (#4939) 2015-03-30 09:23:59 -04:00
Thomas Bruederli
7dbb0d1b2f Handle old revisions and diffs for recurrence instances; forward instance identifier to API for diff requests 2015-03-19 12:34:08 +01:00
Thomas Bruederli
17a3783b9a Allow to load attachments from old revisions + implement resting of old revisions if write permissions are granted 2015-03-18 20:24:57 +01:00
Thomas Bruederli
6bd0bdabb5 Adapt client to changed Bonnie API 2015-03-18 12:57:36 +01:00
Thomas Bruederli
c51c60eff8 Avoid fatal errors when setting recurrence until date for tasks (#4852) 2015-03-16 14:43:02 +01:00
Thomas Bruederli
60205136ee Code cleanup: get recurrence instance identifiers from utility functions 2015-03-10 14:30:50 +01:00
Thomas Bruederli
03dd4b60b3 Exclude cancelled events from count query on invitations calendar 2015-03-03 15:57:49 +01:00
Thomas Bruederli
3ba55540fd Don't copy exceptions array and private properties (_*) to exceptions 2015-02-27 12:02:49 +01:00
Thomas Bruederli
31ad93a62e Provide access to exception instances outside of a recurring event context (#4722) 2015-02-26 15:05:55 +01:00
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