public function exportvCalendar()
{
// Default values.
$requiredAttributes = array('DTSTAMP' => time(), 'UID' => strval(new Horde_Support_Uuid()));
$method = null;
if (!empty($this->_container)) {
try {
$method = $this->_container->getAttribute('METHOD');
} catch (Horde_Icalendar_Exception $e) {
}
}
switch ($method) {
case 'PUBLISH':
$requiredAttributes['DTSTART'] = time();
$requiredAttributes['SUMMARY'] = '';
break;
case 'REQUEST':
$requiredAttributes['ATTENDEE'] = '';
$requiredAttributes['DTSTART'] = time();
$requiredAttributes['SUMMARY'] = '';
break;
case 'REPLY':
$requiredAttributes['ATTENDEE'] = '';
break;
case 'ADD':
$requiredAttributes['DTSTART'] = time();
$requiredAttributes['SEQUENCE'] = 1;
$requiredAttributes['SUMMARY'] = '';
break;
case 'CANCEL':
$requiredAttributes['ATTENDEE'] = '';
$requiredAttributes['SEQUENCE'] = 1;
break;
case 'REFRESH':
$requiredAttributes['ATTENDEE'] = '';
break;
default:
$requiredAttributes['DTSTART'] = time();
break;
}
foreach ($requiredAttributes as $name => $default_value) {
try {
$this->getAttribute($name);
} catch (Horde_Icalendar_Exception $e) {
$this->setAttribute($name, $default_value);
}
}
return $this->_exportvData('VEVENT');
}