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