2013-11-24 1 views
0

기존 ics 파일의 각 이벤트에 대한 카테고리를 변경하려고합니다. 새로운 카테고리가있는 배열이 있고 각 이벤트를 반복하고 인덱스에 따라 새 카테고리를 지정하려고합니다. 그 때문에 iCalcreator을 사용하고 있습니다.iCalcreator : ics-file의 각 이벤트에 대한 카테고리 변경

$event_categories = array(); 

// ... 
// populating $event_categories with data 
// ... 

$config = array("unique_id" => "cat_mod", "filename" => "myical.ics"); 
$v = new vcalendar($config); 
$i = 0; 

$v->parse(); 
while($vevent = $v->getComponent("vevent")) { 
    $vevent->setProperty("categories", $event_categories[$i]); 
    $i++; 
    continue; 
} 

$v->returnCalendar(); 

하지만 작동하지 않습니다. 카테고리는 여전히 동일합니다.

나를 도와주세요.

답변

1

summary file에 예제가 있습니다 ("편집"섹션 참조). 그것은 당신이 uid를 기억하고 그것을 사용하여 수정 된 이벤트를 다시 삽입 할 필요가 있음을 보여줍니다. 압축 된 예가 있습니다 :

$v = new vcalendar($config);   
$v->parse(); 
while($vevent = $v->getComponent("vevent")) { 
    $uid = $vevent->getProperty("uid"); 
    // ... change event .. 
    $v->setComponent ($vevent, $uid); 
}