Get alarm settings when importing from ical format
This commit is contained in:
parent
14ffcb15df
commit
7bfb9079d5
1 changed files with 40 additions and 1 deletions
|
@ -251,6 +251,45 @@ class calendar_ical
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// find alarms
|
||||||
|
if ($valarm = $ve->findComponent('valarm')) {
|
||||||
|
$action = 'DISPLAY';
|
||||||
|
$trigger = null;
|
||||||
|
|
||||||
|
foreach ($valarm->getAllAttributes() as $attr) {
|
||||||
|
switch ($attr['name']) {
|
||||||
|
case 'TRIGGER':
|
||||||
|
if ($attr['params']['VALUE'] == 'DATE-TIME') {
|
||||||
|
$trigger = '@' . $attr['value'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$trigger = $attr['value'];
|
||||||
|
$offset = abs($trigger);
|
||||||
|
$unit = 'S';
|
||||||
|
if ($offset % 86400 == 0) {
|
||||||
|
$unit = 'D';
|
||||||
|
$trigger = intval($trigger / 86400);
|
||||||
|
}
|
||||||
|
else if ($offset % 3600 == 0) {
|
||||||
|
$unit = 'H';
|
||||||
|
$trigger = intval($trigger / 3600);
|
||||||
|
}
|
||||||
|
else if ($offset % 60 == 0) {
|
||||||
|
$unit = 'M';
|
||||||
|
$trigger = intval($trigger / 60);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ACTION':
|
||||||
|
$action = $attr['value'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($trigger)
|
||||||
|
$event['alarms'] = $trigger . $unit . ':' . $action;
|
||||||
|
}
|
||||||
|
|
||||||
// add organizer to attendees list if not already present
|
// add organizer to attendees list if not already present
|
||||||
if ($organizer && !isset($_attendees[$organizer['email']]))
|
if ($organizer && !isset($_attendees[$organizer['email']]))
|
||||||
array_unshift($event['attendees'], $organizer);
|
array_unshift($event['attendees'], $organizer);
|
||||||
|
|
Loading…
Add table
Reference in a new issue