require_once( 'iCalcreator.class.php' ); $v = new vcalendar(); // create a new calendar instance $v->setConfig( 'unique_id', 'icaldomain.com' ); // set Your unique id $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 = new 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' ); $v->setComponent ( $vevent ); // add event to calendar .. . $vevent = new vevent(); $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 $v->setComponent ( $vevent ); // add event to calendar .. . .. .// 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' ); $v = new vcalendar(); // create a new calendar instance $v->setConfig( 'unique_id', 'icaldomain.com' ); // set Your unique id, required if any component UID is missing $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 /* start parse of local file */ $v->setConfig( 'directory', 'calendar' ); // set directory $v->setConfig( 'filename', 'file.ics' ); // set file name $v->parse(); /* start parse of remote file */ $v->setConfig( 'url', 'http://www.aDomain.net/file.ics' ); // iCalcreator also support remote files $v->parse(); .. . $v->sort(); // ensure start date order .. .
require_once( 'iCalcreator.class.php' ); $v = new vcalendar(); // create a new calendar instance $v->setConfig( 'unique_id', 'icaldomain.com' ); // set Your unique id $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->setConfig( 'directory', 'calendar' ); // set directory $v->setConfig( 'filename', 'file.ics' ); // set file name $v->parse(); 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' ); $v = new vcalendar(); // create a new calendar instance $v->setConfig( 'unique_id', 'icaldomain.com' ); // set Your unique id $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->setConfig( 'url', 'http://www.aDomain.net/file.ics' ); // iCalcreator also support remote files $v->parse(); $v->sort(); // ensure start date order $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, // 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' ); $v = new vcalendar(); // create a new calendar instance $v->setConfig( 'unique_id', 'icaldomain.com' ); $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
.. . $v->setConfig( 'directory', 'depot' ); // set directory $v->setConfig( 'filename', 'calendar.ics' ); // set file name $v->saveCalendar(); // save calendar to file