mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-10-05 01:22:16 +02:00
export explicit recurrences via REST API (ToDo: import/update of recurring events)
This commit is contained in:
parent
5bc413deb2
commit
9ca7c6f373
@ -925,7 +925,7 @@ class JsCalendar extends JsBase
|
||||
protected static function Recurrence(array $event, array $data, array $exceptions=[], ?array $rrule=null)
|
||||
{
|
||||
$overrides = [];
|
||||
if (!empty($event['recur_type']) || isset($rrule))
|
||||
if ((!empty($event['recur_type']) || isset($rrule)) && $event['recur_type'] != \calendar_rrule::RDATE)
|
||||
{
|
||||
if (!isset($rrule))
|
||||
{
|
||||
@ -956,24 +956,36 @@ class JsCalendar extends JsBase
|
||||
{
|
||||
$rule['byMonthDay'] = [$rrule['BYMONTHDAY']]; // EGroupware supports only a single day!
|
||||
}
|
||||
|
||||
// adding excludes to the overrides
|
||||
if (!empty($event['recur_exception']))
|
||||
}
|
||||
elseif (!empty($event['recur_rdates']) && $event['recur_type'] == \calendar_rrule::RDATE)
|
||||
{
|
||||
foreach($event['recur_rdates'] as $rdate)
|
||||
{
|
||||
foreach ($event['recur_exception'] as $timestamp)
|
||||
if ($rdate != $event['start'])
|
||||
{
|
||||
$ex_date = new Api\DateTime($timestamp, Api\DateTime::$server_timezone);
|
||||
if (!empty($event['whole_day']))
|
||||
{
|
||||
$ex_date->setTime(0, 0, 0);
|
||||
}
|
||||
$overrides[self::DateTime($ex_date, $event['tzid'])] = [
|
||||
'excluded' => true,
|
||||
$overrides[self::DateTime($rdate, $event['tzid'])] = [
|
||||
'start' => self::DateTime($rdate, $event['tzid']),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// adding excludes to the overrides
|
||||
if (!empty($event['recur_type']) && !empty($event['recur_exception']))
|
||||
{
|
||||
foreach ($event['recur_exception'] as $timestamp)
|
||||
{
|
||||
$ex_date = new Api\DateTime($timestamp, Api\DateTime::$server_timezone);
|
||||
if (!empty($event['whole_day']))
|
||||
{
|
||||
$ex_date->setTime(0, 0, 0);
|
||||
}
|
||||
$overrides[self::DateTime($ex_date, $event['tzid'])] = [
|
||||
'excluded' => true,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
// adding exceptions to the overrides
|
||||
foreach($exceptions as $exception)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user