Commit graph

54 commits

Author SHA1 Message Date
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
7fe08b2814 Cleanup recurrence exception data when saving events (#4318) 2015-01-28 17:27:16 +01: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
0d8b6912ae Fix auto-incrementing the sequence value of xcal objects 2014-07-31 12:22:07 +02:00
Thomas Bruederli
882b89a7c0 Event status changes should increment the sequence value 2014-07-16 17:37:01 +02:00
Thomas Bruederli
afb64c3948 Improve iTip REQUEST workflow:
- only increase sequence on significant changes that affect scheduling (acc. RFC 5545)
- show RSVP buttons only for higher sequence updates (#1678)
- provide a button to simply update the local copy otherwise
2014-07-08 17:14:14 +02:00
Thomas Bruederli
bdf2faafae Store tags to enable partstat queries (#1796) 2014-07-08 12:38:51 +02:00
Thomas Bruederli
2f87e09c3a Check for new valarms property when writing cache tags 2014-04-17 12:10:44 +02:00
Thomas Bruederli
1ce6d461a6 Save and restore iCal STATUS properties 2014-04-03 15:07:47 +02:00
Thomas Bruederli
30327b4e47 Avoid 'Illegal string offset' warnings 2014-03-24 16:57:32 +01:00
Thomas Bruederli
e02e7cd3f3 Avoid recurrence exceptions being copied to exception items recursively. This caused memory leaks when serializing events for caching 2013-11-06 16:41:01 +01:00
Thomas Bruederli
29ab9b594e Reflect format errors in is_valid() method to avoid invalid data being loadd and written to cache (#2360) 2013-10-16 15:30:51 +02:00
Thomas Bruederli
ee8b9e1ddc Support DURATION properties for events (#1916) 2013-09-26 09:43:29 +02:00
Thomas Bruederli
f15a3feeb4 Handle attachments and links for all xcal-based objects 2013-07-24 18:59:57 +02:00
Aleksander Machniak
1857a64d4f Fix undefined variable related errors caught in static code analysis 2013-05-07 12:56:18 +02:00
Aleksander Machniak
e03156fc1f Implemented new method of storing filename and mimetype of file objects 2013-04-19 14:20:55 +02:00
Thomas Bruederli
d854a5ab0d Keep libkolab API for event recurrence exceptions consistent for Kolab v2. The format doesn't allow to save exceptions inline, thus save them as individual events 2013-03-13 16:19:02 +01:00
Thomas Bruederli
f320a772b0 Merge branch 'dev/recurrence-exceptions' 2013-02-28 08:25:52 +01:00
Thomas Bruederli
ef30be7dea Expose URI attachments as 'links' for event objects 2013-02-27 17:05:10 +01:00
Thomas Bruederli
97d0c57eee Small refactoring: use base class methods to read/set common properties; add support for custom properties in all objects 2013-02-21 16:28:12 +01:00
Thomas Bruederli
36bbcc6499 Make this-and-future recurrence exceptions work 2013-02-14 16:17:02 +01:00
Thomas Bruederli
91779df09a Save changes in a recurring event as exception to the master event 2013-01-23 14:45:41 +01:00
Aleksander Machniak
ddeb606daf Fix File support. Fix handling of non-inline attachments of event and file objects. 2013-01-16 09:27:34 +01:00
Thomas Bruederli
025a388ba5 Finally remove the remaining Horde stuff after switching to libkolab for recurrence and format v2 support 2012-11-21 11:21:19 +01:00
Thomas Bruederli
ace437f1da Log errors if some libkolab modules are missing 2012-11-21 09:56:21 +01:00
Thomas Bruederli
cf5c88437e Merge branch 'dev/libcalendaring' 2012-11-09 14:02:34 +01:00
Thomas Bruederli
3cff455632 Ignore empty attachments from format v2 2012-11-08 16:18:54 +01:00
Thomas Bruederli
d98e8787c6 Fix kolab_format_* classes to read v2 format; perpare kolab_storage to write out v2 format 2012-11-06 19:03:12 +01:00
Aleksander Machniak
f7b2e543e2 Fix attachments handling (Bug #1172) 2012-11-06 15:09:47 +01:00
Thomas Bruederli
d55e56c07c Use new libkolab XML object reading/writing functions in preparation of adding Kolab format v2 capabilities 2012-11-01 20:06:09 +01:00
Thomas Brüderli
b4ced09d2e Make use of libkolab/libcalendaring PHP bindings for computing recurring events 2012-10-23 15:05:38 +02:00
Thomas Bruederli
b23453e3ec Also use DateTime values for recurrence rules; explicitly set last-modified times when savng an object 2012-07-06 16:38:40 +02:00
Thomas Bruederli
2aa05334e8 Fix timestamp-to-DateTime conversion 2012-07-04 15:57:05 +02:00
Thomas Bruederli
035534eb00 Make sure events from old Kolab2 format also provide start/end properties as DateTime objects 2012-07-03 10:41:56 +02:00
Thomas Bruederli
0158440400 Fix object recurrence rule processing 2012-07-03 09:56:03 +02:00
Thomas Bruederli
d5c2f15ccb Improve attachments handling:
- use Content-ID as key in _attachments list; new attachments have numeric keys
- generate a unique Content-ID for new/changed attachments in libkolab
- bugfix: don't cache empty attachment entries
2012-06-13 17:39:18 +02:00
Thomas Bruederli
2ad9e2e1ba - Small refactoring: build words index in common kolab_format_xcal class
- Define tags to be cached with task objects
- Allow to query cache with NOT LIKE (!~) queries
2012-06-08 13:15:10 +02:00
Thomas Bruederli
b2a7734c34 Little refactoring: new parent class for xcal based Kolab objects such as event and task handling reading/writing of common properties 2012-05-30 08:51:55 +02:00
Thomas Bruederli
9da61e6d4b Reduce code redundancy: implement load() and write() method in parent class kolab_format; do more error checking 2012-05-22 10:14:56 +02:00
Thomas Bruederli
3f5712a117 Save event categories and 'has alarm' information as tags in cache 2012-05-16 18:34:21 +02:00
Thomas Bruederli
5cc7fc616f Better process of writing Kolab objects: don't use isValid() but check kolabformat::error() after writing. Fixes #769 2012-05-16 14:15:05 +02:00
Thomas Bruederli
7de0aa468c Increment sequence property when updating an event 2012-05-10 21:25:57 +02:00
Thomas B
18d8fec133 First implementation of a caching layer for kolab_storage;
- Caching is disabled by default (until fully functional and tested)
- Attention: database initialization required for cache)

Silently ignore old Kolab2 objects if no Horde classes found to parse them.
2012-05-02 17:41:02 +02:00
Thomas Bruederli
1b09ae2801 Finish attachment handling and display for events 2012-04-25 19:26:40 +02:00
Thomas B
2559d6ffb7 Set alarm date/time in UTC 2012-04-05 08:56:37 +02:00
Thomas B
87b474eab7 Read/write event recurrence rules and alarms 2012-04-03 23:05:59 +02:00