require_once( 'iCalcreator.class.php' ); $config = array( 'unique_id' => 'icaldomain.com' ); // set Your unique id $v = new vcalendar( $config ); // create a new calendar instance $v->setProperty( 'method', 'PUBLISH' ); // required of some calendar software $v->setProperty( "x-wr-calname", "Calendar Sample" ); // required of some calendar software $v->setProperty( "X-WR-CALDESC", "Calendar Description" ); // required of some calendar software $v->setProperty( "X-WR-TIMEZONE", "Europe/Stockholm" ); // required of some calendar software .. . $vevent = & $v->newComponent( 'vevent' ); // create an event calendar component $vevent->setProperty( 'dtstart', array( 'year'=>2007, 'month'=>4, 'day'=>1, 'hour'=>19, 'min'=>0, 'sec'=>0 )); $vevent->setProperty( 'dtend', array( 'year'=>2007, 'month'=>4, 'day'=>1, 'hour'=>22, 'min'=>30, 'sec'=>0 )); $vevent->setProperty( 'LOCATION', 'Central Placa' ); // property name - case independent $vevent->setProperty( 'summary', 'PHP summit' ); $vevent->setProperty( 'description', 'This is a description' ); $vevent->setProperty( 'comment', 'This is a comment' ); $vevent->setProperty( 'attendee', 'attendee1@icaldomain.net' ); .. . $vevent = & $v->newComponent( 'vevent' ); // create next event calendar component $vevent->setProperty( 'dtstart', '20070401', array('VALUE' => 'DATE'));// alt. date format, now for an all-day event $vevent->setProperty( "organizer" , 'boss@icaldomain.com' ); $vevent->setProperty( 'summary', 'ALL-DAY event' ); $vevent->setProperty( 'description', 'This is a description for an all-day event' ); $vevent->setProperty( 'resources', 'COMPUTER PROJECTOR' ); $vevent->setProperty( 'rrule', array( 'FREQ' => 'WEEKLY', 'count' => 4));// weekly, four occasions $vevent->parse( 'LOCATION:1CP Conference Room 4350' ); // supporting parse of strict rfc2445 formatted text .. . .. .// all calendar components are described in rfc2445 .. .// a complete iCalcreator function list (ex. setProperty) in iCalcreator manual .. . $v->returnCalendar(); // redirect calendar file to browser
require_once( 'iCalcreator.class.php' ); $config = array( 'unique_id', 'icaldomain.com' ); // set Your unique id, required if any component UID is missing $v = new vcalendar( $config ); // create a new calendar instance /* start parse of local file */ $config = array( 'directory' => 'calendar', 'filename' => 'file.ics' ); $v->setConfig( $config ); // set directory and file name $v->parse(); /* start parse of remote file */ $v->setConfig( 'url', 'http://www.aDomain.net/file.ics' ); // iCalcreator also support parse from or write to remote files $v->parse(); $v->setProperty( 'method', 'PUBLISH' ); // required of some calendar software $v->setProperty( "x-wr-calname", "Calendar Sample" ); // required of some calendar software $v->setProperty( "X-WR-CALDESC", "Calendar Description" ); // required of some calendar software $v->setProperty( "X-WR-TIMEZONE", "Europe/Stockholm" ); // required of some calendar software .. . $v->sort(); // ensure start date order .. .
require_once( 'iCalcreator.class.php' ); $config = array( 'unique_id' => 'icaldomain.com', 'directory' => 'calendar', 'filename' => 'file.ics' ); // set Your unique id, import directory and file name $v = new vcalendar( $config ); // create a new calendar instance $v->parse(); $v->setProperty( 'method', 'PUBLISH' ); // required of some calendar software $v->setProperty( "x-wr-calname", "Calendar Sample" ); // required of some calendar software $v->setProperty( "X-WR-CALDESC", "Calendar Description" ); // required of some calendar software $v->setProperty( "X-WR-TIMEZONE", "Europe/Stockholm" ); // required of some calendar software while( $vevent = $v->getComponent( 'vevent' )) { // read events, one by one $uid = $vevent->getProperty( 'uid' ); // uid required, one occurence (unique id/key for component) .. . $dtstart = $vevent->getProperty( 'dtstart' ); // dtstart required, one occurence .. . if( $description = $vevent->getProperty( 'description', 1 )) { // description optional, first occurence .. . // edit the description $vevent->setProperty( 'description', $description, FALSE, 1 ); // update/replace the description } while( $comment = $vevent->getProperty( 'comment' )) { // comment optional, may occur more than once .. . // manage comments } .. . while( $vevent->deleteProperty( 'attendee' )) continue; // remove all ATTENDEE properties .. . .. . $v->setComponent ( $vevent, $uid ); // update/replace event in calendar with uid as key } .. . .. .// a complete iCalcreator function list (ex. getProperty, deleteProperty) in iCalcreator manual .. .
require_once( 'iCalcreator.class.php' ); $config = array( 'unique_id' => 'icaldomain.com' ); // set Your unique id $v = new vcalendar( $config ); // create a new calendar instance $v->setConfig( 'url', 'http://www.aDomain.net/file.ics' ); // iCalcreator also support remote files $v->parse(); $v->sort(); // ensure start date order $v->setProperty( 'method', 'PUBLISH' ); // required of some calendar software $v->setProperty( "x-wr-calname", "Calendar Sample" ); // required of some calendar software $v->setProperty( "X-WR-CALDESC", "Calendar Description" ); // required of some calendar software $v->setProperty( "X-WR-TIMEZONE", "Europe/Stockholm" ); // required of some calendar software $eventArray = $v->selectComponents(); // select components occuring today // (including components with recurrence pattern) foreach( $eventArray as $year => $yearArray) { foreach( $yearArray as $month => $monthArray ) { foreach( $monthArray as $day => $dailyEventsArray ) { foreach( $dailyEventsArray as $vevent ) { $currddate = $event->getProperty( 'x-current-dtstart' ); // if member of a recurrence set (2nd occurence etc) // returns array( 'x-current-dtstart' // , <(string) date("Y-m-d [H:i:s][timezone/UTC offset]")>) $dtstart = $vevent->getProperty( 'dtstart' ); // dtstart required, one occurence, (orig. start date) $summary = $vevent->getProperty( 'summary' ); $description = $vevent->getProperty( 'description' ); .. . .. .
require_once( 'iCalcreator.class.php' ); $config = array( 'unique_id' => 'icaldomain.com' ); // set Your unique id $v = new vcalendar( $config ); // create a new calendar instance $v->setProperty( 'method', 'PUBLISH' ); // required of some calendar software $v->setProperty( "x-wr-calname", "Calendar Sample" ); // required of some calendar software $v->setProperty( "X-WR-CALDESC", "Calendar Description" ); // required of some calendar software $v->setProperty( "X-WR-TIMEZONE", "Europe/Stockholm" ); // required of some calendar software .. . .. .// parse calendar file(s) and/or edit/create calendar components.. . .. .
.. . $v->returnCalendar(); // redirect calendar file to browser
.. . $config = array( 'directory' => 'depot', 'filename' => 'calendar.ics' ); $v->setConfig( $config ); // set output directory and file name $v->saveCalendar(); // save calendar to (local) file
.. . $config = array( 'url' => 'http://www.aDomain.net/file.ics' ); $v->setConfig( $config ); // set output url $v->saveCalendar(); // save calendar to remote url