Commit Graph

283 Commits

Author SHA1 Message Date
Ralf Becker
cb6121c41f * Calendar: fix holidays are displayed one day off for eg. Austria, Slovakia, Australia (from iCloud)
Caused by no real floating date support in EGroupware and defaulting to UTC, if no timezone specified, because Horde_Icalendar does not report datetimes postfixed with Z as UTC.
Fixed now by not using UTC workaround for date (not datetime) values.
Also implemented default duration of one day for dtstart as date and no dtend/duration given.
2016-11-05 12:01:28 +01:00
nathangray
4bb16b2bec Add flag in calendar import definitions (CSV & iCal) to not import conflicting events 2016-07-11 13:09:08 -06:00
Ralf Becker
8c7c0c1eb2 reading holidays now from Mozilla holiday calendars, or a custom iCal URL 2016-05-04 17:15:18 +00:00
Ralf Becker
dcc003cedf move calendar to new api 2016-05-01 17:47:59 +00:00
Ralf Becker
0eb3619cd1 * Mail/Addressbook/Calendar: add and use charset when sending/receiving mails with vCard/iCals, change default vCard charset preference to utf-8 2016-04-29 07:51:13 +00:00
Ralf Becker
7c2b2d4950 * CalDAV: fix exceptions (EXDATE) was exported with timezone and Zulu-time, causing eM Clinet to fail
current Horde_Icalendar only exports EXDATE in Zulu-time, so we can only remove timezone. Apple calendar on OS X 10.11.4 uses a timezone, so does Horde eg. for Recurrence-ID
2016-04-27 16:27:04 +00:00
Ralf Becker
df83dcf933 fix wrong replacement 2016-04-27 16:23:30 +00:00
Ralf Becker
fc9c345930 move egw_ical_iterator to Api\CalDAV\IcalIterator 2016-04-04 23:45:39 +00:00
Ralf Becker
ca1bf71361 fix PHP Fatal error when creating/updating entries 2016-04-04 22:39:49 +00:00
Ralf Becker
6886b0a3b1 meeting requests and responses were send twice in spite of esync preferences 2015-10-22 17:24:14 +00:00
Ralf Becker
66581cee3f * Calendar/CalDAV/iMip: only include replying participant in iMip REPLY messages 2015-10-14 16:39:39 +00:00
Ralf Becker
c6ad6d2caa allow to reuse managed-id of existing attachment in PUT request by symlinking it, return correct xml-error for invalid mananaged-id 2015-09-30 03:27:29 +00:00
Ralf Becker
8d476dae23 Several fixed to cope better with CalDAVTester:
- adding priority=0=undefined to calendar, as it is iCalendar default
- no longer export iCalendar defaults PRIORITY=0, TRANSP=OPAQUE, CLASS=PUBLIC
- assume UTC if no timezone given, unfortunatly Horde_Icalendar currently does not tell UTC or local
- export DURATION instead of DTEND for UTC and duration less or equal 1 day (todo: store if user entered duration in db model, to be able export it as such again)
2015-09-29 10:25:32 +00:00
Ralf Becker
b34cbded3a multiple fixes around managed attachments and new Horde_Icalendar:
- no longer decodes base64 automatic
- size param have to be string due to bug in handling of integers in Horde_Icalendar
- allow stripping of non-binary (eg. text/plain) inline attachments
- only add X-EGROUPWARE-ATTACH-INCLUDED, if we have a real managed attachment
- store external / url attachments as other unsupported attributes
2015-09-29 07:37:15 +00:00
Ralf Becker
9fce06e650 * Calendar/CalDAV: fix Outlook does not import invitations with wired error "organizer needs not to send responses"
caused by new Horde Icalendar class exporting all integer x-properties as empty string, casting X-EGROUPWARE-UID not explicit to string before passing it to Horde code
2015-09-28 08:11:31 +00:00
Ralf Becker
4fbd2716ab * CalDAV/Calendar: fix not working private flag from Apple clients 2015-07-29 13:31:03 +00:00
Ralf Becker
2fcde50257 * CalDAV/Calendar/InfoLog: do NOT use ENCODING=QUOTED-PRINTABLE for iCal 2.0, cuts eg. description off in TB, if containing non-ascii chars 2015-07-23 15:51:26 +00:00
Ralf Becker
b2d48dcd84 * Calendar/CalDAV: recurence exceptions were not exported since last package (Horde_Icalendar update) 2015-07-16 12:53:28 +00:00
Ralf Becker
ca8a6328d5 * Calendar/CalDAV: rejected meeting-requests were not returned when searching for free time 2015-07-16 12:09:19 +00:00
Ralf Becker
6d2ef17b0f * CalDAV/Calendar: storing now all properties send by client and not known to EGroupware and fixed acknowledging and snoozing of alarms 2015-06-25 20:39:53 +00:00
Ralf Becker
cd48c7c22b new Horde_Icalendar throws Horde_Icalendar_Exception on call to getAttribute() for not existing attributes, getAttributeDefault($name, $default) returns $default instead 2015-06-24 12:30:56 +00:00
Ralf Becker
3640ef4eb0 using new Horde code in vendor: fix PHP Fatal error: Cannot access protected property Horde_Icalendar_Vevent::$_attributes 2015-06-24 10:46:19 +00:00
Ralf Becker
dc45cf1982 fix PHP Fatal error: Cannot access protected property Horde_Icalendar_Vevent::$_container 2015-06-24 08:51:20 +00:00
Ralf Becker
3b4708f9ea using new Horde code in vendor for CalDAV/CardDAV, moved all old Horde and SyncML code to syncml app, not sure it is still functional 2015-06-22 15:36:23 +00:00
Ralf Becker
99b7fc66a0 use X-CALENDARSERVER-ACCESS attribute on vCalendar only for CalDAV, not eg. for file export and import 2015-06-22 14:13:28 +00:00
Nathan Gray
9b1b338bf8 Avoid fatal error if the recurrence end date cannot be determined. 2015-04-11 00:17:28 +00:00
Ralf Becker
965e56e02e * Calendar: fix not shown last recurrence of limited recurring event in day-view (requires database update for existing events) 2015-03-09 18:56:17 +00:00
Nathan Gray
f1d7cd3b9e If recur end date could not be parsed, handle it as missing. 2015-01-27 21:50:56 +00:00
Klaus Leithoff
668c48eaa8 fix typo preventing ics parsing 2015-01-27 13:07:59 +00:00
Ralf Becker
c3a28cc7db using recommended lowercase protocol "mailto:" in ATTENDEE or ORGANIZER iCal properties 2015-01-23 09:45:11 +00:00
Ralf Becker
f0252c1b74 * Calendar/CalDAV/eSync: exceptions show up in calendars of participants only participating in exceptions not whole recuring event (requires a DB update for existing events!) 2014-10-28 16:01:55 +00:00
Ralf Becker
d23d41ca50 * Calendar/iCal/CalDAV: normalize enddates not on a recurrence-date, to recurrence-date before (not next) 2014-06-16 13:25:00 +00:00
Ralf Becker
8d3a2d0007 * CalDAV/Calendar: store and therefore keep external organizer if he has no common name (just email) and also store its common name 2014-03-13 10:20:17 +00:00
Jörg Lehrke
2925d10165 Fix X-MICROSOFT-CDO-ALLDAYEVENT calendar issue for CalDAV clients 2013-11-23 08:13:01 +00:00
Ralf Becker
edd4cc49ca basic managed attachment support, tested with iCal from OS X mountain lion 2013-09-23 13:39:28 +00:00
Ralf Becker
1752f7defd basic managed attachment support, tested with iCal from OS X mountain lion 2013-09-23 10:21:31 +00:00
Ralf Becker
85aae69c69 keep role "CHAIR" from an external organizer, even if he is a regular participant with a different role 2013-08-26 17:48:19 +00:00
Ralf Becker
9ef5149632 * Calendar/ImportExport: fixed out-of-memory condition while importing large iCal files
do NOT read whole file into memory, just pass stream so iCal class can use an iterator
2013-03-14 15:40:05 +00:00
Ralf Becker
9e873a7092 * Calendar/CalDAV: fixed iCal import of recurring events to convert (not understood) yearly byday to monthly byday with interval 12 and daily byday to weekly byday, also fixed of by one error in enddate 2013-02-28 17:00:01 +00:00
Ralf Becker
ba06ed56a9 * Calendar/CalDAV: fixed iCal parser calculating recurrence-enddate from COUNT parameter, taking into account BY* rules (RRULE:FREQ=WEEKLY;COUNT=4;BYDAY=Mo,Mi runs just 2 weeks!) 2013-02-27 14:35:12 +00:00
Ralf Becker
a8e6f13304 * Calendar/CalDAV: fixed wrong time in notification mails caused by updates via CalDAV (not web interface), if user-timezone differs from server 2013-01-31 15:15:48 +00:00
Nathan Gray
872fe5918e Some missed skip_notifications 2012-12-18 16:00:29 +00:00
Nathan Gray
2f2ad58e98 Implement 'No notifications' flag when importing iCal 2012-12-17 23:56:56 +00:00
Ralf Becker
6127be47d7 * CalDAV: fix recurring event one day short, if number of recurence specified together with event-length, after rrule in iCal 2012-10-23 14:22:33 +00:00
Ralf Becker
9f607a36bb * Calendar/CalDAV: fixed event created in calendar of a resource, was not editable (no owner set, now creating user is owner) 2012-10-22 12:45:04 +00:00
Ralf Becker
61a20467e8 * Calendar/CalDAV: deleting of recurrences under Android (eg. CalDAV Sync app) did not work
Android sets STATUS: CANCELLED instead of adding event to EXDATE of master, as other CalDAV clients do
2012-10-07 17:13:03 +00:00
Ralf Becker
52675388a3 * CalDAV/CardDAV: sync-collection report for all apps allowing a more efficient sync 2012-09-26 14:30:47 +00:00
Ralf Becker
7bf5b90739 * Calendar/CalDAV/eSync: tracking participant status changes now in modified date and user of calendar entry (main table), fixes sometimes not synced status changes and simplifies code a lot 2012-09-25 11:54:41 +00:00
Ralf Becker
e83a7c1b8d cast accounts->members(hips) to array, to cope without PHP warnings for not (longer) existing accounts 2012-08-09 09:08:45 +00:00
Ralf Becker
cc52575549 * Calendar/CalDAV/eSync: not searching addressbook for CN, as match can be not unique or without an email address, causing notification to fail --> store as email address 2012-07-24 20:13:56 +00:00
Ralf Becker
5bab15b433 patch from Achim Koenigs <achim-at-tratschtante.de> to shift alarms of recurring events to first future recurrent, so they get stored, modified to not doublicate code 2012-07-18 06:45:09 +00:00
Ralf Becker
84bc15ebba * CalDAV: fixed not working exceptions of recuring events in iCal on iOS or OS X (skipping optional and default VALUE=DATE-TIME attribute in iCal EXDATE component) 2012-05-10 11:25:55 +00:00
Klaus Leithoff
b09b90b8db * calendar: use possible attribute values regarding X-MICROSOFT-CDO-ALLDAYEVENT 2012-04-24 11:03:25 +00:00
Ralf Becker
aef04880e9 * CalDAV: allow to create private events on OS X iCal, fixing DAV header for new shared folders 2012-02-07 20:19:16 +00:00
Ralf Becker
d43e93cf7f * CalDAV: fixed Outlook needs Microsoft specific x-property to recognice all-day events as such 2012-02-03 22:28:00 +00:00
Ralf Becker
f293f8edb8 * Calendar/iCal/CalDAV: if no end(-time) is given in iCal we use the default lenght from user prefs 2012-01-29 18:41:46 +00:00
Ralf Becker
a596c9c89a * Calendar/iCal/CalDAV: if no end(-time) is given in iCal we use the default lenght from user prefs 2012-01-29 18:20:40 +00:00
Ralf Becker
f99e4f276a * CalDAV: fixed group-invitations got lost (urn:uuid url lost one char with each new import) 2011-11-24 14:37:12 +00:00
Ralf Becker
5458179c30 fixed modifying an existing event with timezone different from default timezone of user to a whole-day event (no timezone allowed according to iCal rfc) 2011-11-10 18:47:53 +00:00
Ralf Becker
f37f8578cf - fixed calendar_ical::importVCal() to (again) return 0 on etag mis-match, as documented and return 412 Precondition Failed in that case
- Disabling Schedule-Tag handling completly, as current implementation seems to create too much trouble with iCal under OS X or iOS, which send If-Schedule-Tag-Match condition event for major updates, not just changing own status or alarms
2011-11-08 21:09:06 +00:00
Ralf Becker
8cad47e22f fixing r37108 calendar_timezone::DateTimeZone() returns a DateTimeZone not an egw_time object 2011-11-07 17:11:59 +00:00
Klaus Leithoff
0d0511b099 * calendar/esync: handle error regarding not getting an egw_time object but no exception is thrown; may be php 5.2.x related. occurs when a NokiaE72 tries to open Outlook invitations 2011-11-03 14:20:49 +00:00
Ralf Becker
b599d4a4e2 using maximum of cal_modified and cal_user_modified for iCal LAST-MODIFIED too 2011-10-23 08:31:44 +00:00
Ralf Becker
8096c34bef - fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
512138ed56 diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct 2011-10-17 15:36:28 +00:00
Ralf Becker
a949acf031 locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars 2011-10-16 08:53:07 +00:00
Ralf Becker
49a6cdd34d reverting accidental commit r36964 2011-10-16 08:51:11 +00:00
Ralf Becker
377a32ef7a not announcing DAV level 2, as we dont support locking 2011-10-16 08:49:29 +00:00
Ralf Becker
c2f74d0c72 * CalDAV: fixed wrong VTIMEZONE component generated (has to be in UTC), probably fixes bug #2984: Problem with VTIMEZONE component generated for NZ 2011-10-08 18:40:29 +00:00
Ralf Becker
b2ea1a7d05 new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy 2011-10-07 06:02:30 +00:00
Ralf Becker
175197d7c0 * CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox 2011-10-03 12:53:28 +00:00
Ralf Becker
58f4cc1405 * CalDAC fix for aCal Android client sending DTSTART+DURATION instead of DTSTART+DTEND
- for new events, allways add owner as participant. Users expect to participate too, if they invite further participants
2011-10-03 09:43:06 +00:00
Ralf Becker
df1d9e81b2 - implemented regular CalDAV free-busy-query report
- fixed FBTYPE for tentative accepted invitations: BUSY-TENTATIVE
- fixed typo stalling outbox free-busy request
2011-09-22 19:49:01 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
d2a87d2de4 fixed Warning: DateTime::modify(): Failed to parse time string (1234.5 second) at position 7 (s): The timezone could not be found in the database, caused by second fraction 2011-08-11 08:41:13 +00:00
Jörg Lehrke
ef6393e8af * Fix RRULE parser (UTC fix) - Bug#2991@egroupware.org 2011-06-25 17:48:27 +00:00
Jörg Lehrke
6b084b40f9 * Fix RRULE parser (2nd part) - Bug#2991@egroupware.org 2011-06-25 14:15:16 +00:00
Jörg Lehrke
5e8e806651 * Fix RRULE parser - Bug#2991@egroupware.org 2011-06-25 12:13:36 +00:00
Ralf Becker
77a3342da6 * Calendar/CalDAV: use X-EGROUPWARE-UID only, if it resolves to same email (otherwise we are in trouble if different EGw installs talk to each other) 2011-05-26 16:46:23 +00:00
Ralf Becker
30259bfd4c * Calendar: fixed not included organizer in meeting request 2011-05-26 10:48:57 +00:00
Ralf Becker
b0949a3e65 return parsed organizer, as we need it in AS and it does not hurt other users of ical class 2011-04-28 17:56:44 +00:00
Ralf Becker
440bcb1235 * Calendar: fixed not working "use event TZ" pref for iCal exports and allways use event TZ for calendar notifications (NOT use file export pref.) 2011-04-11 10:59:59 +00:00
Ralf Becker
0bfd238e3f * CalDAV: store name part of URL from client PUT request, to fully comply with CalDAV spec 2011-04-06 19:26:10 +00:00
Ralf Becker
63e61442c9 * Calendar: fixed in some cases not updated alarms, if event got moved
- sending alarms to CalDAV/GroupDAV clients as offset, not fixed time like before
- only exception to the above are alarms for recuring events to Lightning, which must be absolute, as offset lead to infinit poping up alarms in Lightning
- update all alarm times of other users alarms too, when storing events, as they might not be included in the stored event
2011-03-07 13:49:08 +00:00
Ralf Becker
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Philip Herbert
4d3be13eec enable X-RECURRENCE-ID for Nokia S60 Devices 2010-11-04 10:46:56 +00:00
Jörg Lehrke
a85fdb55cd Allow to add events to group calendars via CalDAV 2010-09-29 16:54:16 +00:00
Ralf Becker
1e79225a29 removed explicit var parameter from Horde_iCalendar $component parameter of _ical2egw_callback, as all object are passed by reference in PHP5+, but usage via call_user_func_array(), gives warning as no (explicit) var parameters are allowed 2010-09-15 13:10:29 +00:00
Jörg Lehrke
f91095f2ec Fix EXDATE issue for Apple devices 2010-08-26 20:28:54 +00:00
Jörg Lehrke
44c3c7eb9a Improve iPhone iCal support 2010-08-15 06:42:05 +00:00
Jörg Lehrke
d4985709c5 Fix recurrence enddate issue 2010-08-15 06:34:16 +00:00
Jörg Lehrke
0f284a0bfb Disable Thunderbird special treatment 2010-08-08 21:52:44 +00:00
Ralf Becker
c7bc0fbd82 using created and modified timestamps from calendar, and not reading them separate from egw_content_history table 2010-08-05 17:57:59 +00:00
Jörg Lehrke
c9e1b56d2d Fix vCalendar v1.0 EXDATE export 2010-07-05 19:05:54 +00:00
Jörg Lehrke
2bfebbdb7f Improve group invitation handling 2010-06-28 05:08:22 +00:00
Jörg Lehrke
bce68a9e82 Fix CalDAV group attendee issue; various GroupDAV improvements 2010-06-27 22:16:22 +00:00
Jörg Lehrke
c6b0f825d9 Fix SyncML replace and recur_enddate issue 2010-06-26 15:58:33 +00:00
Jörg Lehrke
48bc5c8119 Remove user as attendee, if he is the only participant and has accepted 2010-06-23 15:54:07 +00:00
Jörg Lehrke
7b850eabb6 Fix recurring event issues for vCal 1.0 imports; fix bug Stylite #646 2010-06-23 14:52:55 +00:00
Jörg Lehrke
b94e897717 Optimze alarm handling 2010-06-18 13:44:50 +00:00