ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Sabre\VObject\Component\Available Class Reference

The Available sub-component. More...

+ Inheritance diagram for Sabre\VObject\Component\Available:
+ Collaboration diagram for Sabre\VObject\Component\Available:

Public Member Functions

 getEffectiveStartEnd ()
 Returns the 'effective start' and 'effective end' of this VAVAILABILITY component. More...
 
 getValidationRules ()
 
 validate ($options=0)
 Validates the node for correctness. More...
 
- Public Member Functions inherited from Sabre\VObject\Component
 __construct (Document $root, $name, array $children=[], $defaults=true)
 Creates a new component. More...
 
 add ()
 Adds a new property or component, and returns the new item. More...
 
 remove ($item)
 This method removes a component or property from this component. More...
 
 children ()
 Returns a flat list of all the properties and components in this component. More...
 
 getComponents ()
 This method only returns a list of sub-components. More...
 
 select ($name)
 Returns an array with elements that match the specified name. More...
 
 serialize ()
 Turns the object back into a serialized blob. More...
 
 jsonSerialize ()
 This method returns an array, with the representation as it should be encoded in JSON. More...
 
 xmlSerialize (Xml\Writer $writer)
 This method serializes the data into XML. More...
 
 __isset ($name)
 This method checks if a sub-element with the specified name exists. More...
 
 __set ($name, $value)
 Using the setter method you can add properties or subcomponents. More...
 
 __unset ($name)
 Removes all properties and components within this component with the specified name. More...
 
 __clone ()
 This method is automatically called when the object is cloned. More...
 
 getValidationRules ()
 
 validate ($options=0)
 Validates the node for correctness. More...
 
 destroy ()
 Call this method on a document if you're done using it. More...
 
- Public Member Functions inherited from Sabre\VObject\Node
 serialize ()
 Serializes the node into a mimedir format. More...
 
 jsonSerialize ()
 This method returns an array, with the representation as it should be encoded in JSON. More...
 
 xmlSerialize (Xml\Writer $writer)
 This method serializes the data into XML. More...
 
 destroy ()
 Call this method on a document if you're done using it. More...
 
 getIterator ()
 Returns the iterator for this object. More...
 
 setIterator (ElementList $iterator)
 Sets the overridden iterator. More...
 
 validate ($options=0)
 Validates the node for correctness. More...
 
 count ()
 Returns the number of elements. More...
 
 offsetExists ($offset)
 Checks if an item exists through ArrayAccess. More...
 
 offsetGet ($offset)
 Gets an item through ArrayAccess. More...
 
 offsetSet ($offset, $value)
 Sets an item through ArrayAccess. More...
 
 offsetUnset ($offset)
 Sets an item through ArrayAccess. More...
 
- Public Member Functions inherited from Sabre\Xml\XmlSerializable
 xmlSerialize (Writer $writer)
 The xmlSerialize method is called during xml writing. More...
 

Additional Inherited Members

- Data Fields inherited from Sabre\VObject\Component
 $name
 
- Data Fields inherited from Sabre\VObject\Node
const REPAIR = 1
 The following constants are used by the validate() method. More...
 
const PROFILE_CARDDAV = 2
 If this option is set, the validator will operate on the vcards on the assumption that the vcards need to be valid for CardDAV. More...
 
const PROFILE_CALDAV = 4
 If this option is set, the validator will operate on iCalendar objects on the assumption that the vcards need to be valid for CalDAV. More...
 
 $parent
 
- Protected Member Functions inherited from Sabre\VObject\Component
 getDefaults ()
 This method should return a list of default property values. More...
 
- Protected Attributes inherited from Sabre\VObject\Component
 $children = []
 
- Protected Attributes inherited from Sabre\VObject\Node
 $iterator = null
 
 $root
 

Detailed Description

The Available sub-component.

This component adds functionality to a component, specific for AVAILABLE components.

Author
Ivan Enderlin http://sabre.io/license/ Modified BSD License

Definition at line 17 of file Available.php.

Member Function Documentation

◆ getEffectiveStartEnd()

Sabre\VObject\Component\Available::getEffectiveStartEnd ( )

Returns the 'effective start' and 'effective end' of this VAVAILABILITY component.

We use the DTSTART and DTEND or DURATION to determine this.

The returned value is an array containing DateTimeImmutable instances. If either the start or end is 'unbounded' its value will be null instead.

Returns
array

Definition at line 31 of file Available.php.

References Sabre\VObject\DateTimeParser\parseDuration().

31  {
32 
33  $effectiveStart = $this->DTSTART->getDateTime();
34  if (isset($this->DTEND)) {
35  $effectiveEnd = $this->DTEND->getDateTime();
36  } else {
37  $effectiveEnd = $effectiveStart->add(VObject\DateTimeParser::parseDuration($this->DURATION));
38  }
39 
40  return [$effectiveStart, $effectiveEnd];
41 
42  }
static parseDuration($duration, $asString=false)
Parses an iCalendar (RFC5545) formatted duration value.
+ Here is the call graph for this function:

◆ getValidationRules()

Sabre\VObject\Component\Available::getValidationRules ( )

Definition at line 59 of file Available.php.

59  {
60 
61  return [
62  'UID' => 1,
63  'DTSTART' => 1,
64  'DTSTAMP' => 1,
65 
66  'DTEND' => '?',
67  'DURATION' => '?',
68 
69  'CREATED' => '?',
70  'DESCRIPTION' => '?',
71  'LAST-MODIFIED' => '?',
72  'RECURRENCE-ID' => '?',
73  'RRULE' => '?',
74  'SUMMARY' => '?',
75 
76  'CATEGORIES' => '*',
77  'COMMENT' => '*',
78  'CONTACT' => '*',
79  'EXDATE' => '*',
80  'RDATE' => '*',
81 
82  'AVAILABLE' => '*',
83  ];
84 
85  }

◆ validate()

Sabre\VObject\Component\Available::validate (   $options = 0)

Validates the node for correctness.

The following options are supported: Node::REPAIR - May attempt to automatically repair the problem. Node::PROFILE_CARDDAV - Validate the vCard for CardDAV purposes. Node::PROFILE_CALDAV - Validate the iCalendar for CalDAV purposes.

This method returns an array with detected problems. Every element has the following properties:

  • level - problem level.
  • message - A human-readable string describing the issue.
  • node - A reference to the problematic node.

The level means: 1 - The issue was repaired (only happens if REPAIR was turned on). 2 - A warning. 3 - An error.

Parameters
int$options
Returns
array

Definition at line 111 of file Available.php.

References PHPMailer\PHPMailer\$options, and $result.

111  {
112 
113  $result = parent::validate($options);
114 
115  if (isset($this->DTEND) && isset($this->DURATION)) {
116  $result[] = [
117  'level' => 3,
118  'message' => 'DTEND and DURATION cannot both be present',
119  'node' => $this
120  ];
121  }
122 
123  return $result;
124 
125  }
$result

The documentation for this class was generated from the following file: