Docs For Class vComponent

## vComponent

Description

A Class for representing components within an vComponent

Located in /vComponent.php (line 409)

Direct descendents

Class | Description
--- | ---
vCalendar | A Class for representing components within an vComponent

Variable Summary
array $components
array $properties
array $rendered
string $type
Method Summary
vComponent __construct ([ $content = null])
void AddComponent (vComponent $new_component)
void AddProperty (vProperty $new_property, [string $value = null], [array $parameters = null])
void ClearComponents ([string $type = null])
void ClearProperties ([string|array $type = null])
void CollectParameterValues ( $parameter_name)
void ComponentCount ()
array GetComponents ([mixed $type = null], [boolean $normal_match = true])
void GetProperties ([ $type = null])
array GetPropertiesByPath ( $path)
void GetProperty ( $type)
void GetPValue ( $type)
void GetType ()
void MaskComponents (array $keep, [boolean $recursive = true])
void MaskProperties (array $keep, [array $component_list = null])
void ParseFrom (string $content)
void Render ([ $restricted_properties = null], [ $force_rendering = false])
void SetComponents (array $new_component, [string $type = null])
void SetProperties ( $new_properties, [ $type = null])
void SetType ( $type)
boolean TestFilter ( $filters, array $filter)
void UnwrapComponent ( $content)
void WrapComponent ( $content)
void __toString ()
Variables
array $components (line 433)

An array of (sub-)components, which are vComponent objects

- access: protected

array $properties (line 426)

An array of properties, which are vProperty objects

- access: protected

array $rendered (line 440)

The rendered result (or what was originally parsed, if there have been no changes)

- access: protected

string $type (line 419)

The type of this component, such as 'VEVENT', 'VTODO', 'VTIMEZONE', 'VCARD', etc.

- access: protected

Methods
Constructor __construct (line 447)

A basic constructor

vComponent __construct ([ $content = null])

- $content

Redefined in descendants as:

- vCalendar::__construct() : Constructor. If a string is passed it will be parsed as if it was an iCalendar object, otherwise a new vCalendar will be initialised with basic content. If an array of key value pairs is provided they will also be used as top-level properties.

AddComponent (line 796)

Adds a new subcomponent

void AddComponent (vComponent $new_component)

- vComponent $new_component: The new component to append to the set

AddProperty (line 693)

Adds a new property

void AddProperty (vProperty $new_property, [string $value = null], [array $parameters = null])

- vProperty $new_property: The new property to append to the set, or a string with the name
- string $value: The value of the new property (default: param 1 is an vProperty with everything
- array $parameters: The key/value parameter pairs (default: none, or param 1 is an vProperty with everything)

ClearComponents (line 751)

Clear all components, or the components matching a particular type

void ClearComponents ([string $type = null])

- string $type: The type of component - omit for all components

ClearProperties (line 655)

Clear all properties, or the properties matching a particular type

void ClearProperties ([string|array $type = null])

- string|array $type: The type of property - omit for all properties - or an array associating property names with true values: array( 'PROPERTY' => true, 'PROPERTY2' => true )

CollectParameterValues (line 462)

Collect an array of all parameters of our properties which are the specified type

Mainly used for collecting the full variety of references TZIDs

void CollectParameterValues ( $parameter_name)

- $parameter_name

ComponentCount (line 712)

Return number of components

void ComponentCount ()
GetComponents (line 726)

Get all sub-components, or at least get those matching a type, or failling to match, should the second parameter be set to false. Component types may be a string or an array associating property names with true values: array( 'TYPE' => true, 'TYPE2' => true )

- return: an array of the sub-components

array GetComponents ([mixed $type = null], [boolean $normal_match = true])

- mixed $type: The type(s) to match (default: All)
- boolean $normal_match: Set to false to invert the match (default: true)

GetProperties (line 638)

Get all properties, or the properties matching a particular type, or matching an

array associating property names with true values: array( 'PROPERTY' => true, 'PROPERTY2' => true )

void GetProperties ([ $type = null])

- $type

GetPropertiesByPath (line 889)

Return an array of properties matching the specified path

- return: An array of vProperty within the tree which match the path given, in the form [/]COMPONENT[/...]/PROPERTY in a syntax kind of similar to our poor man's XML queries. We also allow COMPONENT and PROPERTY to be !COMPONENT and !PROPERTY for ++fun.

array GetPropertiesByPath ( $path)

- $path

GetProperty (line 610)

Return the first instance of a property of this name

void GetProperty ( $type)

- $type

GetPValue (line 627)

Return the value of the first instance of a property of this name, or null

void GetPValue ( $type)

- $type

GetType (line 592)

Return the type of component which this is

void GetType ()
MaskComponents (line 815)

Mask components, removing any that are not of the types in the list

void MaskComponents (array $keep, [boolean $recursive = true])

- array $keep: An array of component types to be kept
- boolean $recursive: (default true) Whether to recursively MaskComponents on the ones we find

MaskProperties (line 833)

Mask properties, removing any that are not in the list

void MaskProperties (array $keep, [array $component_list = null])

- array $keep: An array of property names to be kept
- array $component_list: An array of component types to check within

ParseFrom (line 483)

Parse the text $content into sets of vProperty & vComponent within this vComponent

void ParseFrom (string $content)

- string $content: The raw RFC2445-compliant vComponent component, including BEGIN:TYPE & END:TYPE

Render (line 851)

Renders the component, possibly restricted to only the listed properties

void Render ([ $restricted_properties = null], [ $force_rendering = false])

- $restricted_properties
- $force_rendering

SetComponents (line 782)

Sets some or all sub-components of the component to the supplied new components

void SetComponents (array $new_component, [string $type = null])

- string $type: The type of components to be replaced. Defaults to null, which means all components will be replaced.
- array $new_component: of vComponent $new_components The new components to replace the existing ones

SetProperties (line 677)

Set all properties, or the ones matching a particular type

void SetProperties ( $new_properties, [ $type = null])

- $new_properties
- $type

SetType (line 600)

Set the type of component which this is

void SetType ( $type)

- $type

TestFilter (line 942)

Test a PROP-FILTER or COMP-FILTER and return a true/false COMP-FILTER (is-defined | is-not-defined | (time-range?, prop-filter*, comp-filter*)) PROP-FILTER (is-defined | is-not-defined | ((time-range | text-match)?, param-filter*))

- return: Whether or not this vComponent passes the test

boolean TestFilter ( $filters, array $filter)

- array $filter: An array of XMLElement defining the filter
- $filters

UnwrapComponent (line 568)

This unescapes the (CRLF + linear space) wrapping specified in RFC2445. According to RFC2445 we should always end with CRLF but the CalDAV spec says that normalising XML parsers often muck with it and may remove the CR. We accept either case.

void UnwrapComponent ( $content)

- $content

WrapComponent (line 580)

This imposes the (CRLF + linear space) wrapping specified in RFC2445. According to RFC2445 we should always end with CRLF but the CalDAV spec says that normalising XML parsers often muck with it and may remove the CR. We output RFC2445 compliance.

In order to preserve pre-existing wrapping in the component, we split the incoming string on line breaks before running wordwrap over each component of that.

void WrapComponent ( $content)

- $content

__toString (line 875)

- access: public

void __toString ()

Documentation generated on Fri, 13 Jan 2012 23:40:18 +1300 by phpDocumentor 1.4.3