Horde_ActiveSync_Message_MeetingRequest
extends Horde_ActiveSync_Message_Base
in package
Horde_ActiveSync_Message_MeetingRequest
Tags
Table of Contents
- KEY_ATTRIBUTE = 1
- KEY_PROPERTY = 4
- KEY_TYPE = 3
- KEY_VALUES = 2
- PROPERTY_NO_CONTAINER = 7
- TYPE_DATE = 1
- TYPE_DATE_DASHES = 3
- TYPE_DATE_LOCAL = 6
- TYPE_HEX = 2
- TYPE_MAPI_GOID = 5
- TYPE_MAPI_STREAM = 4
- $ : string|Horde_Date
- $alldayevent : int
- $busystatus : int
- $commandType : string
- Request type. One of: Horde_ActiveSync::SYNC_ADD, SYNC_MODIFY, SYNC_REMOVE, or SYNC_FETCH. Used internally for enforcing various protocol rules depending on request.
- $dtstamp : Horde_Date
- $endtime : Horde_Date
- $flags : mixed
- Message flags
- $instancetype : int
- $location : string
- $organizer : string
- $recurrenceid : string
- $recurrences : Horde_ActiveSync_Message_Recurrence
- $reminder : int
- $responserequested : int
- $sensitivity : int
- $starttime : Horde_Date
- $_device : Horde_ActiveSync_Device
- The device object
- $_exists : array<string|int, mixed>
- Existence cache, used for working with ghosted properties.
- $_logger : Horde_Log_Logger
- Logger
- $_mapping : array<string|int, mixed>
- Property mapping.
- $_properties : array<string|int, mixed>
- Property values.
- $_streamFilters : array<string|int, mixed>
- Cache of current stream filters.
- $_supported : array<string|int, mixed>
- An array describing the non-ghosted elements this message supports.
- $_version : float
- The version of EAS we are to support.
- $_vEvent : Horde_Icalendar_Vevent
- Copy of the vEvent object.
- __call() : mixed
- Magic caller method.
- __construct() : Horde_ActiveSync_Message_Base
- Const'r
- __destruct() : mixed
- __get() : mixed
- Accessor
- __isset() : mixed
- Magic method.
- __set() : mixed
- Setter
- decodeStream() : mixed
- Recursively decodes the WBXML from input stream. This means that if this message contains complex types (like Appointment.Recuurence for example) the sub-objects are auto-instantiated and decoded as well. Places the decoded objects in the local properties array.
- encodeStream() : mixed
- Encodes this object (and any sub-objects) as wbxml to the output stream.
- fromvEvent() : mixed
- Create a meeting request from a vEvent.
- getProtocolVersion() : float
- Return the EAS version this object supports.
- getSupported() : array<string|int, mixed>
- Get the list of non-ghosted properties for this message.
- getvEvent() : Horde_Icalendar_vEvent
- Return the vEvent object the request/response is based on.
- isEmpty() : bool
- Returns whether or not this message actually contains any data to send.
- isGhosted() : bool
- Determines if the property specified has been ghosted by the client.
- propertyExists() : bool
- Check the existence of a property in this message.
- setSupported() : mixed
- Set the list of non-ghosted fields for this message.
- _checkEncoding() : mixed
- Checks if the data needs to be encoded like e.g., when outputing binary data in-line during ITEMOPERATIONS requests. Concrete classes should override this if needed.
- _checkSendEmpty() : bool
- Checks to see if we should send an empty value.
- _formatDate() : string
- Oh yeah. This is beautiful. Exchange outputs date fields differently in calendar items and emails. We could just always send one or the other, but unfortunately nokia's 'Mail for exchange' depends on this quirk.
- _getAttribute() : mixed
- Helper method to allow default values for unset properties.
- _isAllDay() : bool
- Return if this is a request for an all day meeting.
- _parseDate() : Horde_Date|bool
- Get a Horde_Date from a timestamp, ensuring it's in the correct format.
- _parsevEvent() : mixed
- Parses a vEvent into the message properties.
- _preEncodeValidation() : bool
- Give concrete classes the chance to enforce rules before encoding messages to send to the client.
- _validateDecodedValues() : bool
- Give concrete classes the chance to enforce rules.
- _hex2bin() : string
- Function which converts a hex entryid to a binary entryid.
Constants
KEY_ATTRIBUTE
public
mixed
KEY_ATTRIBUTE
= 1
KEY_PROPERTY
public
mixed
KEY_PROPERTY
= 4
KEY_TYPE
public
mixed
KEY_TYPE
= 3
KEY_VALUES
public
mixed
KEY_VALUES
= 2
PROPERTY_NO_CONTAINER
public
mixed
PROPERTY_NO_CONTAINER
= 7
TYPE_DATE
public
mixed
TYPE_DATE
= 1
TYPE_DATE_DASHES
public
mixed
TYPE_DATE_DASHES
= 3
TYPE_DATE_LOCAL
public
mixed
TYPE_DATE_LOCAL
= 6
TYPE_HEX
public
mixed
TYPE_HEX
= 2
TYPE_MAPI_GOID
public
mixed
TYPE_MAPI_GOID
= 5
TYPE_MAPI_STREAM
public
mixed
TYPE_MAPI_STREAM
= 4
Properties
$
public
string|Horde_Date
$
timezone
$alldayevent
public
int
$alldayevent
$busystatus
public
int
$busystatus
$commandType
Request type. One of: Horde_ActiveSync::SYNC_ADD, SYNC_MODIFY, SYNC_REMOVE, or SYNC_FETCH. Used internally for enforcing various protocol rules depending on request.
public
string
$commandType
@since 2.31.0
$dtstamp
public
Horde_Date
$dtstamp
$endtime
public
Horde_Date
$endtime
$flags
Message flags
public
mixed
$flags
= \false
Horde_ActiveSync::FLAG_* constant
$instancetype
public
int
$instancetype
$location
public
string
$location
$organizer
public
string
$organizer
$recurrenceid
public
string
$recurrenceid
$recurrences
public
Horde_ActiveSync_Message_Recurrence
$recurrences
(Not currently supported).
$reminder
public
int
$reminder
$responserequested
public
int
$responserequested
$sensitivity
public
int
$sensitivity
$starttime
public
Horde_Date
$starttime
$_device
The device object
protected
Horde_ActiveSync_Device
$_device
Tags
$_exists
Existence cache, used for working with ghosted properties.
protected
array<string|int, mixed>
$_exists
= array()
$_logger
Logger
protected
Horde_Log_Logger
$_logger
$_mapping
Property mapping.
protected
array<string|int, mixed>
$_mapping
= array(\Horde_ActiveSync_Message_Mail::POOMMAIL_ALLDAYEVENT => array(self::KEY_ATTRIBUTE => 'alldayevent'), \Horde_ActiveSync_Message_Mail::POOMMAIL_STARTTIME => array(self::KEY_ATTRIBUTE => 'starttime', self::KEY_TYPE => self::TYPE_DATE_DASHES), \Horde_ActiveSync_Message_Mail::POOMMAIL_DTSTAMP => array(self::KEY_ATTRIBUTE => 'dtstamp', self::KEY_TYPE => self::TYPE_DATE_DASHES), \Horde_ActiveSync_Message_Mail::POOMMAIL_ENDTIME => array(self::KEY_ATTRIBUTE => 'endtime', self::KEY_TYPE => self::TYPE_DATE_DASHES), \Horde_ActiveSync_Message_Mail::POOMMAIL_INSTANCETYPE => array(self::KEY_ATTRIBUTE => 'instancetype'), \Horde_ActiveSync_Message_Mail::POOMMAIL_LOCATION => array(self::KEY_ATTRIBUTE => 'location'), \Horde_ActiveSync_Message_Mail::POOMMAIL_ORGANIZER => array(self::KEY_ATTRIBUTE => 'organizer'), \Horde_ActiveSync_Message_Mail::POOMMAIL_RECURRENCEID => array(self::KEY_ATTRIBUTE => 'recurrenceid', self::KEY_TYPE => self::TYPE_DATE_DASHES), \Horde_ActiveSync_Message_Mail::POOMMAIL_REMINDER => array(self::KEY_ATTRIBUTE => 'reminder'), \Horde_ActiveSync_Message_Mail::POOMMAIL_RESPONSEREQUESTED => array(self::KEY_ATTRIBUTE => 'responserequested'), \Horde_ActiveSync_Message_Mail::POOMMAIL_RECURRENCES => array(self::KEY_ATTRIBUTE => 'recurrences', self::KEY_TYPE => 'Horde_ActiveSync_Message_MeetingRequestRecurrence', self::KEY_VALUES => \Horde_ActiveSync_Message_Mail::POOMMAIL_RECURRENCE), \Horde_ActiveSync_Message_Mail::POOMMAIL_SENSITIVITY => array(self::KEY_ATTRIBUTE => 'sensitivity'), \Horde_ActiveSync_Message_Mail::POOMMAIL_BUSYSTATUS => array(self::KEY_ATTRIBUTE => 'busystatus'), \Horde_ActiveSync_Message_Mail::POOMMAIL_TIMEZONE => array(self::KEY_ATTRIBUTE => 'timezone'), \Horde_ActiveSync_Message_Mail::POOMMAIL_GLOBALOBJID => array(self::KEY_ATTRIBUTE => 'globalobjid'))
$_properties
Property values.
protected
array<string|int, mixed>
$_properties
= array(
'alldayevent' => '0',
'starttime' => \false,
'dtstamp' => \false,
'endtime' => \false,
'instancetype' => '0',
// For now, no recurring meeting request support.
'location' => \false,
'organizer' => \false,
'recurrenceid' => \false,
'reminder' => \false,
'responserequested' => \false,
'recurrences' => array(),
'sensitivity' => \false,
'busystatus' => \false,
'timezone' => \false,
'globalobjid' => \false,
)
$_streamFilters
Cache of current stream filters.
protected
array<string|int, mixed>
$_streamFilters
= array()
$_supported
An array describing the non-ghosted elements this message supports.
protected
array<string|int, mixed>
$_supported
= array()
$_version
The version of EAS we are to support.
protected
float
$_version
= \Horde_ActiveSync::VERSION_TWOFIVE
$_vEvent
Copy of the vEvent object.
protected
Horde_Icalendar_Vevent
$_vEvent
Methods
__call()
Magic caller method.
public
__call(mixed $method, array<string|int, mixed> $arg) : mixed
Parameters
- $method : mixed
-
The method to call.
- $arg : array<string|int, mixed>
-
Method arguments.
Return values
mixed —__construct()
Const'r
public
__construct([array<string|int, mixed> $options = array() ]) : Horde_ActiveSync_Message_Base
Parameters
- $options : array<string|int, mixed> = array()
-
Configuration options for the message:
- logger: (Horde_Log_Logger) A logger instance DEFAULT: none (No logging).
- protocolversion: (float) The version of EAS to support. DEFAULT: Horde_ActiveSync::VERSION_TWOFIVE (2.5)
- device: (Horde_ActiveSync_Device) The device object. @since 2.9.2
Tags
Return values
Horde_ActiveSync_Message_Base —__destruct()
public
__destruct() : mixed
Return values
mixed —__get()
Accessor
public
& __get(string $property) : mixed
Parameters
- $property : string
-
Property to get.
Tags
Return values
mixed —The value of the requested property.
__isset()
Magic method.
public
__isset(string $property) : mixed
Parameters
- $property : string
-
The property name to check.
Return values
mixed —__set()
Setter
public
__set(string $property, mixed $value) : mixed
Parameters
- $property : string
-
The property to set.
- $value : mixed
-
The value to set it to.
Tags
Return values
mixed —decodeStream()
Recursively decodes the WBXML from input stream. This means that if this message contains complex types (like Appointment.Recuurence for example) the sub-objects are auto-instantiated and decoded as well. Places the decoded objects in the local properties array.
public
decodeStream(Horde_ActiveSync_Wbxml_Decoder &$decoder) : mixed
Parameters
- $decoder : Horde_ActiveSync_Wbxml_Decoder
Tags
Return values
mixed —encodeStream()
Encodes this object (and any sub-objects) as wbxml to the output stream.
public
encodeStream(Horde_ActiveSync_Wbxml_Encoder &$encoder) : mixed
Output is ordered according to $_mapping
Parameters
- $encoder : Horde_ActiveSync_Wbxml_Encoder
-
The wbxml stream encoder
Tags
Return values
mixed —fromvEvent()
Create a meeting request from a vEvent.
public
fromvEvent(Horde_Icalendar_Vevent $vCal) : mixed
Parameters
- $vCal : Horde_Icalendar_Vevent
-
The vEvent.
Tags
Return values
mixed —getProtocolVersion()
Return the EAS version this object supports.
public
getProtocolVersion() : float
Return values
float —A Horde_ActiveSync::VERSION_* constant.
getSupported()
Get the list of non-ghosted properties for this message.
public
getSupported() : array<string|int, mixed>
Return values
array<string|int, mixed> —The array of non-ghosted properties
getvEvent()
Return the vEvent object the request/response is based on.
public
getvEvent() : Horde_Icalendar_vEvent
Return values
Horde_Icalendar_vEvent —isEmpty()
Returns whether or not this message actually contains any data to send.
public
isEmpty() : bool
Tags
Return values
bool —True if message is empty, otherwise false.
isGhosted()
Determines if the property specified has been ghosted by the client.
public
isGhosted(string $property) : bool
A property is ghosted if it is NOT listed in the SUPPORTED list sent by the client AND is NOT present in the request data.
Parameters
- $property : string
-
The property to check
Return values
bool —propertyExists()
Check the existence of a property in this message.
public
propertyExists(string $property) : bool
Parameters
- $property : string
-
The property name
Return values
bool —setSupported()
Set the list of non-ghosted fields for this message.
public
setSupported(array<string|int, mixed> $fields) : mixed
Parameters
- $fields : array<string|int, mixed>
-
The array of fields, keyed by the fully qualified property name i.e., POOMCONTACTS:Anniversary. To signify an empty SUPPORTED container $fields should contain a single element equal to Horde_ActiveSync::ALL_GHOSTED.
Return values
mixed —_checkEncoding()
Checks if the data needs to be encoded like e.g., when outputing binary data in-line during ITEMOPERATIONS requests. Concrete classes should override this if needed.
protected
_checkEncoding(mixed $data, string $tag) : mixed
Parameters
- $data : mixed
-
The data to check. A string or stream resource.
- $tag : string
-
The tag we are outputing.
Return values
mixed —The encoded data. A string or stream resource with a filter attached.
_checkSendEmpty()
Checks to see if we should send an empty value.
protected
_checkSendEmpty(string $tag) : bool
Parameters
- $tag : string
-
The tag name
Return values
bool —_formatDate()
Oh yeah. This is beautiful. Exchange outputs date fields differently in calendar items and emails. We could just always send one or the other, but unfortunately nokia's 'Mail for exchange' depends on this quirk.
protected
_formatDate(Horde_Date $dt, int $type) : string
So we have to send a different date type depending on where it's used. Used when encoding a date value to send to the client.
Parameters
- $dt : Horde_Date
-
The Horde_Date object to format (should normally be in local tz).
- $type : int
-
The type to format as: One of TYPE_DATE or TYPE_DATE_DASHES, TYPE_DATE_LOCAL
Tags
Return values
string —The formatted date
_getAttribute()
Helper method to allow default values for unset properties.
protected
_getAttribute(string $name[, stting $default = null ]) : mixed
Parameters
- $name : string
-
The property name
- $default : stting = null
-
The default value to return if $property is empty
Return values
mixed —_isAllDay()
Return if this is a request for an all day meeting.
protected
_isAllDay() : bool
Return values
bool —_parseDate()
Get a Horde_Date from a timestamp, ensuring it's in the correct format.
protected
_parseDate(string $ts) : Horde_Date|bool
Used when decoding an incoming date value from the client.
Parameters
- $ts : string
-
The timestamp
Return values
Horde_Date|bool —The Horde_Date or false if unable to decode.
_parsevEvent()
Parses a vEvent into the message properties.
protected
_parsevEvent(Horde_Icalendar_Vevent $vevent[, string $method = 'REQUEST' ]) : mixed
Parameters
- $vevent : Horde_Icalendar_Vevent
-
The vEvent to parse.
- $method : string = 'REQUEST'
-
The method (e.g., 'REQUEST').
Tags
Return values
mixed —_preEncodeValidation()
Give concrete classes the chance to enforce rules before encoding messages to send to the client.
protected
_preEncodeValidation() : bool
Tags
Return values
bool —True if values were valid (or could be made valid). False if values are unable to be validated.
_validateDecodedValues()
Give concrete classes the chance to enforce rules.
protected
_validateDecodedValues() : bool
Tags
Return values
bool —True on success, otherwise false.
_hex2bin()
Function which converts a hex entryid to a binary entryid.
private
static _hex2bin(string $data) : string
Parameters
- $data : string
-
The hexadecimal string
Return values
string —The binary data