Commit Graph

41 Commits

Author SHA1 Message Date
ralf
2067df1fa4 fix PHP Fatal and not working iCal export of RDATE events
we need to read rdates also for search, not just read
2024-06-06 09:07:17 +02:00
ralf
8d5f036758 fix one problem if all recurrences of an event with explicit recurrences were overwritten/exceptions 2024-06-06 09:07:17 +02:00
ralf
2bfcc20856 * Calendar: fix generating/importing exceptions on recurring events using explicit RDATEs instead of a RRULE
also correctly recognize Windows timezone names without "Standard Time" postfix like "Romance" instead of "Romance Standard Time" for "Europe/Paris"
2024-06-06 09:07:17 +02:00
nathan
cc98141e86 Calendar: iCal can import events that use RDATE:VALUE=PERIOD 2024-06-06 09:07:17 +02:00
ralf
9e7a3ec4d8 another big chunk of PHP Warnings 2024-02-08 12:31:28 +02:00
ralf
eef211fdcd * Calendar: new REST API to read, create, modify and delete events, see https://github.com/EGroupware/egroupware/blob/master/doc/REST-CalDAV-CardDAV/Calendar.md 2023-07-25 18:38:34 +02:00
ralf
d92c5a94a6 fix PHP 8.1 Deprecated by adding return type declarations 2022-04-24 18:15:47 +02:00
Ralf Becker
e0113c6026 * CalDAV/Calendar: fix weekly recurring events without explicit weekday (BYDAY) were not using start-date 2021-03-02 15:26:55 +02:00
Ralf Becker
c1316beda5 WIP: periodic running admin-commands 2018-09-18 16:27:40 +02:00
Ralf Becker
98376b5908 * PHP 7.2: fix several PHP Fatal errors and warnings stalling installation and usage 2018-04-09 16:02:00 +02:00
nathangray
d46937fbe3 * Calendar - Include monthly type (by weekday or by date) in recurrence rule strings 2017-06-26 10:46:18 -06:00
nathangray
af2ff1859c Calendar - All tests passing for daily recurring events, all day and otherwise 2017-06-07 13:19:20 -06:00
nathangray
191b129201 Calendar - Discrete (not all day) events working for all timezone combinations 2017-06-06 15:03:14 -06:00
nathangray
2bfd1c4aa9 Calendar - Ok, working for Edmonton & Berlin... 2017-06-01 11:20:38 -06:00
nathangray
11f3719348 Calendar - change how we're dealing with (all day) timezones, keeping the event in the assigned timezone instead of always changing it to the server timezone. 2017-05-31 09:55:41 -06:00
nathangray
9cf6685a77 Calendar - all day recurring events would extend one day longer for some timezone combinations 2017-05-23 13:37:34 -06:00
nathangray
676974fcdd Calendar - Fix recur end date got one day sooner when you save if timezone was Tahiti 2017-04-20 12:57:26 -06:00
nathangray
4221dfbdd6 Calendar - better handling of recurrence when exporting & importing CSV 2017-04-20 10:01:32 -06:00
Ralf Becker
ba47919a6b fix regression of #9810077: CalDAV PUT of unlimited recurring event run until max_execution_time 2017-04-15 18:22:36 +02:00
Ralf Becker
af6fe077dd fix Call to a member function format() on null caused by 9810077eab 2017-03-31 14:05:21 +02:00
Ralf Becker
9810077eab * Calendar/CalDAV: fix wrong end-date of recurring events incl. whole-day events 2017-03-29 19:32:49 +02:00
Ralf Becker
3e92578753 fix some ocurences with: <object> instanceof <phpgwapi-class>, which is no longer true, when object is from new Api, but old <phpgw-class> extends new Api class 2016-04-27 07:10:04 +00:00
Ralf Becker
5108e0bd9d * Calendar/iCal/CalDAV: recuring events were exported to long
our enddate is the end-time, not start-time of last event!
2015-06-25 20:30:52 +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
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
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
7d5c44ac61 * Calendar: deny creating of recurring events, if duration of a single recurrence is longer then the recurrence interval 2012-10-22 15:47:06 +00:00
Ralf Becker
64173358e6 removed usage of MCAL_ constants in favor of own class-constants 2012-09-18 07:42:27 +00:00
Ralf Becker
ef8ac254a4 many fixes in calendar:
- fixed fatal error if participant is no account
- if participant has no email use a pseudo one: noreply-$uid-uid@egroupware.org
- do not add account of calendar as participant (readd it in ChangeMessage)
- use calendar_boupdate::update() instead of ::save() to get notifications
- fixed fatal error call to member function ->format(), if event has an exception
2011-02-24 22:55:05 +00:00
Ralf Becker
dd5000f11b making monthly_byday_num and monthly_bymonthday public, to use it in calendar_activsync 2010-12-19 00:24:22 +00:00
Jörg Lehrke
f54410da4f Fix recurrence enddate again 2010-06-11 22:13:27 +00:00
Jörg Lehrke
a2e2c5f797 Fix mounthly by day recurrence issues 2010-04-27 11:47:56 +00:00
Jörg Lehrke
20aab1b6f2 Handle failures in event2rrule gracefully 2010-03-08 06:54:02 +00:00
Jörg Lehrke
32639bd47e Major SyncML Calendar update
- SIFE support improved
  - various vCalendar 1.0 issues fixed
  - device specific timezone support for recurring events
  - pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Christian Binder
42ceb277ac fixed typo 2010-01-23 09:53:58 +00:00
Jörg Lehrke
bce9456486 Fix vCal 1.0 RRULE issues again :-O 2010-01-12 18:52:29 +00:00
Christian Binder
ddb0f86257 check if array is present before iterating it 2009-11-23 13:11:18 +00:00
Ralf Becker
d1f233d141 "human readable string representation of rrule:
- added timezone (if different from user timezone)
- moved monthly rule to first argument in brackets"
2009-11-12 19:39:46 +00:00
Jörg Lehrke
db25947a38 Use new rrule iterator class for RRULE generation 2009-11-12 19:08:23 +00:00
Ralf Becker
e7a6f37af8 "- changed $interval parameter to default to 1, if < 1
- fixed wrong name for recur_enddate"
2009-11-12 09:31:42 +00:00
Ralf Becker
a4176448f0 "New recurance rule iterator:
- 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"
2009-11-11 20:38:16 +00:00