* @since 2.5.1 - 2008-10-12 */ class vtodo extends calendarComponent { /** * @var array $attach component property value * @var array $attendee component property value * @var array $categories component property value * @var array $comment component property value * @var array $completed component property value * @var array $contact component property value * @var array $class component property value * @var array $created component property value * @var array $description component property value * @var array $dtstart component property value * @var array $due component property value * @var array $duration component property value * @var array $exdate component property value * @var array $exrule component property value * @var array $geo component property value * @var array $lastmodified component property value * @var array $location component property value * @var array $organizer component property value * @var array $percentcomplete component property value * @var array $priority component property value * @var array $rdate component property value * @var array $recurrenceid component property value * @var array $relatedto component property value * @var array $requeststatus component property value * @var array $resources component property value * @var array $rrule component property value * @var array $sequence component property value * @var array $status component property value * @var array $summary component property value * @var arrayr $url; * @access protected */ protected $attach; protected $attendee; protected $categories; protected $comment; protected $completed; protected $contact; protected $class; protected $created; protected $description; protected $dtstart; protected $due; protected $duration; protected $exdate; protected $exrule; protected $geo; protected $lastmodified; protected $location; protected $organizer; protected $percentcomplete; protected $priority; protected $rdate; protected $recurrenceid; protected $relatedto; protected $requeststatus; protected $resources; protected $rrule; protected $sequence; protected $status; protected $summary; protected $url; /** * constructor for calendar component VTODO object * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.8.2 - 2011-05-01 * @param array $config * @uses vtodo::calendarComponent() * @uses vtodo::$attach * @uses vtodo::$attendee * @uses vtodo::$categories * @uses vtodo::$class * @uses vtodo::$comment * @uses vtodo::$completed * @uses vtodo::$contact * @uses vtodo::$created * @uses vtodo::$description * @uses vtodo::$dtstart * @uses vtodo::$due * @uses vtodo::$duration * @uses vtodo::$exdate * @uses vtodo::$exrule * @uses vtodo::$geo * @uses vtodo::$lastmodified * @uses vtodo::$location * @uses vtodo::$organizer * @uses vtodo::$percentcomplete * @uses vtodo::$priority * @uses vtodo::$rdate * @uses vtodo::$recurrenceid * @uses vtodo::$relatedto * @uses vtodo::$requeststatus * @uses vtodo::$resources * @uses vtodo::$rrule * @uses vtodo::$sequence * @uses vtodo::$status * @uses vtodo::$summary * @uses vtodo::$url * @uses vtodo::$xprop * @uses vtodo::$components * @uses calendarComponent::setConfig() */ function vtodo( $config = array()) { $this->calendarComponent(); $this->attach = ''; $this->attendee = ''; $this->categories = ''; $this->class = ''; $this->comment = ''; $this->completed = ''; $this->contact = ''; $this->created = ''; $this->description = ''; $this->dtstart = ''; $this->due = ''; $this->duration = ''; $this->exdate = ''; $this->exrule = ''; $this->geo = ''; $this->lastmodified = ''; $this->location = ''; $this->organizer = ''; $this->percentcomplete = ''; $this->priority = ''; $this->rdate = ''; $this->recurrenceid = ''; $this->relatedto = ''; $this->requeststatus = ''; $this->resources = ''; $this->rrule = ''; $this->sequence = ''; $this->status = ''; $this->summary = ''; $this->url = ''; $this->xprop = ''; $this->components = array(); if( defined( 'ICAL_LANG' ) && !isset( $config['language'] )) $config['language'] = ICAL_LANG; if( !isset( $config['allowEmpty'] )) $config['allowEmpty'] = TRUE; if( !isset( $config['nl'] )) $config['nl'] = "\r\n"; if( !isset( $config['format'] )) $config['format'] = 'iCal'; if( !isset( $config['delimiter'] )) $config['delimiter'] = DIRECTORY_SEPARATOR; $this->setConfig( $config ); } /** * create formatted output for calendar component VTODO object instance * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.5.1 - 2008-11-07 * @param array $xcaldecl * @uses calendarComponent::_createFormat() * @uses calendarComponent::$componentStart1 * @uses calendarComponent::$componentStart2 * @uses calendarComponent::$nl; * @uses calendarComponent::createUid() * @uses calendarComponent::createDtstamp() * @uses calendarComponent::createAttach() * @uses calendarComponent::createAttendee() * @uses calendarComponent::createCategories() * @uses calendarComponent::createClass() * @uses calendarComponent::createComment() * @uses calendarComponent::createCompleted() * @uses calendarComponent::createContact() * @uses calendarComponent::createDescription() * @uses calendarComponent::createDtstart() * @uses calendarComponent::createDtend() * @uses calendarComponent::createDuration() * @uses calendarComponent::createExdate() * @uses calendarComponent::createExrule() * @uses calendarComponent::createGeo() * @uses calendarComponent::createLastModified() * @uses calendarComponent::createLocation() * @uses calendarComponent::createOrganizer() * @uses calendarComponent::createPriority() * @uses calendarComponent::createRdate() * @uses calendarComponent::createRelatedTo() * @uses calendarComponent::createRequestStatus() * @uses calendarComponent::createRecurrenceid() * @uses calendarComponent::createResources() * @uses calendarComponent::createRrule() * @uses calendarComponent::createSequence() * @uses calendarComponent::createStatus() * @uses calendarComponent::createSummary() * @uses calendarComponent::createUrl() * @uses calendarComponent::createXprop() * @uses calendarComponent::createSubComponent() * @uses calendarComponent::$componentEnd1 * @uses calendarComponent::$componentEnd2 * @uses calendarComponent::$xcaldecl * @return string */ function createComponent( &$xcaldecl ) { $objectname = $this->_createFormat(); $component = $this->componentStart1.$objectname.$this->componentStart2.$this->nl; $component .= $this->createUid(); $component .= $this->createDtstamp(); $component .= $this->createAttach(); $component .= $this->createAttendee(); $component .= $this->createCategories(); $component .= $this->createClass(); $component .= $this->createComment(); $component .= $this->createCompleted(); $component .= $this->createContact(); $component .= $this->createCreated(); $component .= $this->createDescription(); $component .= $this->createDtstart(); $component .= $this->createDue(); $component .= $this->createDuration(); $component .= $this->createExdate(); $component .= $this->createExrule(); $component .= $this->createGeo(); $component .= $this->createLastModified(); $component .= $this->createLocation(); $component .= $this->createOrganizer(); $component .= $this->createPercentComplete(); $component .= $this->createPriority(); $component .= $this->createRdate(); $component .= $this->createRelatedTo(); $component .= $this->createRequestStatus(); $component .= $this->createRecurrenceid(); $component .= $this->createResources(); $component .= $this->createRrule(); $component .= $this->createSequence(); $component .= $this->createStatus(); $component .= $this->createSummary(); $component .= $this->createUrl(); $component .= $this->createXprop(); $component .= $this->createSubComponent(); $component .= $this->componentEnd1.$objectname.$this->componentEnd2; if( is_array( $this->xcaldecl ) && ( 0 < count( $this->xcaldecl ))) { foreach( $this->xcaldecl as $localxcaldecl ) $xcaldecl[] = $localxcaldecl; } return $component; } }