После добавления нескольких событий в один файл ics я использовал данный код для обновления нескольких событий в одном файле ics. Но это не работает. События не обновляются. Любой орган, пожалуйста, помогите мне. Мой код:Обновление нескольких событий в одном файле ics (поток icalendar) с использованием php
$ical = "BEGIN:VCALENDAR";
$ical .= "\nVERSION:2.0";
$ical .= "\nPRODID:-//hacksw/handcal//NONSGML v1.0//EN";
$ical .= "\nMETHOD:REQUEST";
$ical .= "\nCALSCALE:GREGORIAN";
$ical .= "\nX-WR-RELCALID:asjh675adashdh";
$ical .= "\nX-WR-CALNAME:My Nov Calendar";
foreach($arr as $newArr){
$ical .= "\nBEGIN:VEVENT";
$ical .= "\nUID:" . md5($newArr['stDate']) . "example.com";
$ical .= "\nSEQUENCE:1";
$ical .= "\nDTSTAMP:" . gmdate('Ymd');
$ical .= "\nORGANIZER:[email protected]";
$ical .= "\nDTSTART:".$newArr['stDate'];
$ical .= "\nDTEND:".$newArr['stDate'];
$ical .= "\nSUMMARY:".$newArr['sub'];
$ical .= "\nDESCRIPTION:".$newArr['desc'];
$ical .= "\nCLASS:PUBLIC";
$ical .= "\nSTATUS:CONFIRMED";
$ical .= "\nTRANSP:TRANSPARENT";
$ical .= "\nEND:VEVENT";
}
$ical .= "\nEND:VCALENDAR";
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename=my-calendar.ics');
echo $ical;
exit;
Я также изменил номер SEQUENCE, но его не работает.
Спасибо за ваш ответ. Но я использовал статический массив с именем $ arr, где значения статические, поэтому значение DTSTART для каждого UID остается таким же. DTSTAMP также принимает значение YYYYMMDD, которое я использовал через gmdate ('Ymd') И, наконец, я уже использовал METHOD = REQUEST в начале моего кода. Пожалуйста, проверьте. Поэтому, пожалуйста, дайте мне знать, что мне нужно сделать для обновления нескольких событий в одном файле ics, используя PHP. –
DTSTAMP ДОЛЖЕН быть в зулу. См. Http://tools.ietf.org/html/rfc5545#section-3.8.7.2. Что касается МЕТОДА, я говорю о заголовке содержимого, а не о свойстве iCalendar. См. Http://tools.ietf.org/html/rfc6047#section-2.4 – arnaudq