resource of the series master. Now the status of single recurrences of a
serie are send to the clients as (virtual) exceptions as Jaytrax&Joerg
implemented it already for SyncML.
The implementation is unfortunately a little different, as CalDAV
differs from SyncML and I dont know the SyncML part that well. Maybe we
can re-unify the code again together.
Tested so far with Tb3/Lightning1.0b and a little with iPhone.
Please let me know, if you run into problems with other clients.
users and groups:
* No: Every user can invite other users and groups (default and old
behavior)
* Groups: other users can allways be invited, only groups require an invite_grant
* Users + groups: inviting both allways requires an invite grant
One need to keep in mind, that setting an invitation ACL via a group,
gives each groupmember the right to invite the group / create a group
event. So the last option propable only works, if users manage
invitations grants on their own, or admin only sets it in small working
groups, where every member is allowed to invite the whole group.
--> calendar backend code removes participants a user is not allowed
to invite
- new "only groupevents" filter, showing only real groupenvents not
events of groupmembers (added tooltips to explain filters)
- show status of participants in border style of event
+ solid: all participants accepted
+ dotted: all participants answered, but not all accepted
+ dashed: not all participants answered
- mark invitations (of current user, not calendar selected)
+ white background color (not category based color)
+ show blue questionmark icon in event header
(it would be nice, if there's a simple method to find out if two different timezones switch at identical times, eg. Europe/Berlin and Europe/Paris do so, so we can avoid the recalculation)"
- Implemented two new monthly rrules: last day of month and last weekday (eg. workday) of month
- The constructor accepts times only as DateTime (or decendents like egw_date) to work timezone-correct.
- The timezone of the event is determined by timezone of the startime, other times get converted to that timezone.
- There's a static factory method calendar_rrule::event2rrule(array $event,$usertime=true), which converts an event read by calendar_bo::read() or calendar_bo::search() to a rrule iterator.
- The rrule iterator object can be casted to string, to get a human readable describtion of the rrule.
- There's an interactive test-form, if the class get's called directly: http://localhost/egroupware/calendar/inc/class.calendar_rrule.inc.php
--> next step will be to use the rrule iterator in calendar_bo::insert_all_repetions() to calculate the recurences"