Skip to content

Sabre VObject Property Binary

Evert Pot edited this page Jun 6, 2013 · 5 revisions

Sabre\VObject\Property\Binary

BINARY property

This object represents BINARY values.

Binary values are most commonly used by the iCalendar ATTACH property, and the vCard PHOTO property.

This property will transparently encode and decode to base64.

Properties

$delimiter

protected mixed $delimiter = null
  • Visibility: protected

$name

public string $name

Property name.

This will contain a string such as DTSTART, SUMMARY, FN.

$group

public string $group

Property group.

This is only used in vcards

$parameters

public array $parameters = array()

List of parameters

$value

protected mixed $value

Current value

$parent

public \Sabre\VObject\Node $parent

Reference to the parent object, if this is not the top object.

$iterator

protected \Sabre\VObject\ElementList $iterator = null

Iterator override

$root

protected \Sabre\VObject\Component $root

The root document

Methods

setRawMimeDirValue

void Sabre\VObject\Property\Binary::setRawMimeDirValue(string $val)

Sets a raw value coming from a mimedir (iCalendar/vCard) file.

This has been 'unfolded', so only 1 line will be passed. Unescaping is not yet done, but parameters are not included.

  • Visibility: public

Arguments

  • $val string

getRawMimeDirValue

string Sabre\VObject\Property\Binary::getRawMimeDirValue()

Returns a raw mime-dir representation of the value.

  • Visibility: public

getValueType

string Sabre\VObject\Property\Binary::getValueType()

Returns the type of value.

This corresponds to the VALUE= parameter. Every property also has a 'default' valueType.

  • Visibility: public

getJsonValue

array Sabre\VObject\Property\Binary::getJsonValue()

Returns the value, in the format it should be encoded for json.

This method must always return an array.

  • Visibility: public

__construct

void Sabre\VObject\Property::__construct(\Sabre\VObject\Component $root, string $name, string|array|null $value, array $parameters, string $group)

Creates the generic property.

Parameters must be specified in key=>value syntax.

Arguments

  • $root Sabre\VObject\Component - The root document
  • $name string
  • $value string|array|null
  • $parameters array - List of parameters
  • $group string - The vcard property group

setValue

void Sabre\VObject\Property::setValue(string|array $value)

Updates the current value.

This may be either a single, or multiple strings in an array.

Arguments

  • $value string|array

getValue

string Sabre\VObject\Property::getValue()

Returns the current value.

This method will always return a singular value. If this was a multi-value object, some decision will be made first on how to represent it as a string.

To get the correct multi-value version, use getParts.

setParts

void Sabre\VObject\Property::setParts(array $parts)

Sets a multi-valued property.

Arguments

  • $parts array

getParts

array Sabre\VObject\Property::getParts()

Returns a multi-valued property.

This method always returns an array, if there was only a single value, it will still be wrapped in an array.

add

\Sabre\VObject\Node Sabre\VObject\Property::add(string $name, string|null|array $value)

Adds a new parameter, and returns the new item.

If a parameter with same name already existed, the values will be combined.

Arguments

  • $name string
  • $value string|null|array

parameters

array Sabre\VObject\Property::parameters()

Returns an iterable list of children

serialize

string Sabre\VObject\Node::serialize()

Serializes the node into a mimedir format

  • Visibility: public
  • This method is abstract.
  • This method is defined by Sabre\VObject\Node

jsonSerialize

array Sabre\VObject\Node::jsonSerialize()

This method returns an array, with the representation as it should be encoded in json.

This is used to create jCard or jCal documents.

  • Visibility: public
  • This method is abstract.
  • This method is defined by Sabre\VObject\Node

__toString

string Sabre\VObject\Property::__toString()

Called when this object is being cast to a string.

If the property only had a single value, you will get just that. In the case the property had multiple values, the contents will be escaped and combined with ,.

offsetExists

bool Sabre\VObject\Node::offsetExists(int $offset)

Checks if an item exists through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset int

offsetGet

mixed Sabre\VObject\Node::offsetGet(int $offset)

Gets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset int

offsetSet

void Sabre\VObject\Node::offsetSet(int $offset, mixed $value)

Sets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset int
  • $value mixed

offsetUnset

void Sabre\VObject\Node::offsetUnset(int $offset)

Sets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset int

__clone

void Sabre\VObject\Property::__clone()

This method is automatically called when the object is cloned.

Specifically, this will ensure all child elements are also cloned.

validate

array Sabre\VObject\Node::validate(int $options)

Validates the node for correctness.

The following options are supported: - Node::REPAIR - If something is broken, and automatic repair may be attempted.

An array is returned with warnings.

Every item in the array has the following properties: * level - (number between 1 and 3 with severity information) * message - (human readable message) * node - (reference to the offending node)

Arguments

  • $options int

getIterator

\Sabre\VObject\ElementList Sabre\VObject\Node::getIterator()

Returns the iterator for this object

setIterator

void Sabre\VObject\Node::setIterator(\Sabre\VObject\ElementList $iterator)

Sets the overridden iterator

Note that this is not actually part of the iterator interface

Arguments

count

int Sabre\VObject\Node::count()

Returns the number of elements

Clone this wiki locally