Commit Graph

42 Commits

Author SHA1 Message Date
ralf
c93b8b4203 * Calendar: fix editing recurring events of type RDATE/explicit dates
changing time and giving error "duration longer than interval", and now also displaying the explicit times
2024-06-11 15:50:32 +02:00
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