mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-07-10 10:11:46 +00:00
Validate alarm date-time or duration before adding it to the DB.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
This commit is contained in:
parent
02182cf087
commit
c7ae6826d8
@ -669,12 +669,16 @@ function write_alarms( $dav_id, $ical ) {
|
||||
default: $related = $ical->GetPValue('DTSTART');
|
||||
}
|
||||
$duration = $trigger->Value();
|
||||
if ( !preg_match('{^-?P(:?\d+W)?(:?\d+D)?(:?T(:?\d+H)?(:?\d+M)?(:?\d+S)?)?$}', $duration ) ) continue;
|
||||
$minus = (substr($duration,0,1) == '-');
|
||||
$related_trigger = trim(preg_replace( '#[PT-]#', ' ', $duration ));
|
||||
if ( $minus ) {
|
||||
$related_trigger = preg_replace( '{(\d+[WDHMS])}', '-$1 ', $related_trigger );
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( false === strtotime($trigger->Value()) ) continue; // Invalid date.
|
||||
}
|
||||
$qry->Bind(':action', $v->GetPValue('ACTION'));
|
||||
$qry->Bind(':trigger', $trigger->Render());
|
||||
$qry->Bind(':summary', $v->GetPValue('SUMMARY'));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user