Documentation

Horde_ActiveSync_Message_Exception extends Horde_ActiveSync_Message_Appointment
in package

Horde_ActiveSync_Message_Exception::

Tags
license

http://www.horde.org/licenses/gpl GPLv2

copyright

2010-2020 Horde LLC (http://www.horde.org)

author

Michael J Rubinsky mrubinsk@horde.org

Table of Contents

BUSYSTATUS_BUSY  = 2
BUSYSTATUS_ELSEWHERE  = 4
BUSYSTATUS_FREE  = 0
BUSYSTATUS_OUT  = 3
BUSYSTATUS_TENTATIVE  = 1
IS_ALL_DAY  = 1
KEY_ATTRIBUTE  = 1
KEY_PROPERTY  = 4
KEY_TYPE  = 3
KEY_VALUES  = 2
MEETING_CANCELLED  = 5
MEETING_CANCELLED_RECEIVED  = 7
MEETING_IS_MEETING  = 1
MEETING_NOT_MEETING  = 0
MEETING_RECEIVED  = 3
POOMCAL_ALLDAYEVENT  = 'POOMCAL:AllDayEvent'
POOMCAL_APPOINTMENTREPLYTIME  = 'POOMCAL:AppointmentReplyTime'
POOMCAL_ATTENDEE  = 'POOMCAL:Attendee'
POOMCAL_ATTENDEES  = 'POOMCAL:Attendees'
POOMCAL_ATTENDEESTATUS  = 'POOMCAL:AttendeeStatus'
POOMCAL_ATTENDEETYPE  = 'POOMCAL:AttendeeType'
POOMCAL_BODY  = 'POOMCAL:Body'
POOMCAL_BODYTRUNCATED  = 'POOMCAL:BodyTruncated'
POOMCAL_BUSYSTATUS  = 'POOMCAL:BusyStatus'
POOMCAL_CALENDARTYPE  = 'POOMCAL:CalendarType'
POOMCAL_CATEGORIES  = 'POOMCAL:Categories'
POOMCAL_CATEGORY  = 'POOMCAL:Category'
POOMCAL_CLIENTUID  = 'POOMCAL:ClientUid'
POOMCAL_DAYOFMONTH  = 'POOMCAL:DayOfMonth'
POOMCAL_DAYOFWEEK  = 'POOMCAL:DayOfWeek'
POOMCAL_DELETED  = 'POOMCAL:Deleted'
POOMCAL_DISALLOWNEWTIMEPROPOSAL  = 'POOMCAL:DisallowNewTimeProposal'
POOMCAL_DTSTAMP  = 'POOMCAL:DtStamp'
POOMCAL_EMAIL  = 'POOMCAL:Email'
POOMCAL_ENDTIME  = 'POOMCAL:EndTime'
POOMCAL_EXCEPTION  = 'POOMCAL:Exception'
POOMCAL_EXCEPTIONS  = 'POOMCAL:Exceptions'
POOMCAL_EXCEPTIONSTARTTIME  = 'POOMCAL:ExceptionStartTime'
POOMCAL_FIRSTDAYOFWEEK  = 'POOMCAL:FirstDayOfWeek'
POOMCAL_INTERVAL  = 'POOMCAL:Interval'
POOMCAL_ISLEAPMONTH  = 'POOMCAL:IsLeapMonth'
POOMCAL_LOCATION  = 'POOMCAL:Location'
POOMCAL_MEETINGSTATUS  = 'POOMCAL:MeetingStatus'
POOMCAL_MONTHOFYEAR  = 'POOMCAL:MonthOfYear'
POOMCAL_NAME  = 'POOMCAL:Name'
POOMCAL_OCCURRENCES  = 'POOMCAL:Occurrences'
POOMCAL_ONLINECONFLINK  = 'POOMCAL:OnlineMeetingConfLink'
POOMCAL_ONLINEEXTLINK  = 'POOMCAL:OnlineMeetingExternalLink'
POOMCAL_ORGANIZEREMAIL  = 'POOMCAL:OrganizerEmail'
POOMCAL_ORGANIZERNAME  = 'POOMCAL:OrganizerName'
POOMCAL_RECURRENCE  = 'POOMCAL:Recurrence'
POOMCAL_REMINDER  = 'POOMCAL:Reminder'
POOMCAL_RESPONSEREQUESTED  = 'POOMCAL:ResponseRequested'
POOMCAL_RESPONSETYPE  = 'POOMCAL:ResponseType'
POOMCAL_RTF  = 'POOMCAL:Rtf'
POOMCAL_SENSITIVITY  = 'POOMCAL:Sensitivity'
POOMCAL_STARTTIME  = 'POOMCAL:StartTime'
POOMCAL_SUBJECT  = 'POOMCAL:Subject'
POOMCAL_TIMEZONE  = 'POOMCAL:Timezone'
POOMCAL_TYPE  = 'POOMCAL:Type'
POOMCAL_UID  = 'POOMCAL:UID'
POOMCAL_UNTIL  = 'POOMCAL:Until'
POOMCAL_WEEKOFMONTH  = 'POOMCAL:WeekOfMonth'
PROPERTY_NO_CONTAINER  = 7
RESPONSE_ACCEPTED  = 3
RESPONSE_DECLINED  = 4
RESPONSE_NONE  = 0
RESPONSE_NORESPONSE  = 5
RESPONSE_ORGANIZER  = 1
RESPONSE_TENTATIVE  = 2
SENSITIVITY_CONFIDENTIAL  = 3
SENSITIVITY_NORMAL  = 0
SENSITIVITY_PERSONAL  = 1
SENSITIVITY_PRIVATE  = 2
TYPE_DATE  = 1
TYPE_DATE_DASHES  = 3
TYPE_DATE_LOCAL  = 6
TYPE_HEX  = 2
TYPE_MAPI_GOID  = 5
TYPE_MAPI_STREAM  = 4
$alldayevent  : int
$attendees  : array<string|int, mixed>
$busystatus  : int
$categories  : array<string|int, mixed>
$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.
$deleted  : int
$dtstamp  : Horde_Date
$endtime  : Horde_Date
$exceptionstarttime  : Horde_Date
$flags  : mixed
Message flags
$instanceid  : Horde_Date
$location  : string
$meetingstatus  : int
$organizeremail  : string
$organizername  : string
$reminder  : int
$sensitivity  : int
$starttime  : Horde_Date
$string|Horde_Date  : mixed
$subject  : string
$_dayOfWeekMap  : array<string|int, mixed>
DOW mapping for DATE to MASK
$_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.
$_parentAppointment  : Horde_ActiveSync_Message_Appointment
The parent appointment for this exception. Only set when client code retrieves list of exceptions from the parent.
__call()  : mixed
Magic caller method.
__construct()  : Horde_ActiveSync_Message_Base
Const'r
__destruct()  : mixed
__get()  : mixed
Accessor
__isset()  : mixed
Magic method.
__set()  : mixed
Setter
addAttachment()  : mixed
addAttendee()  : mixed
Add an attendee to this appointment
addCategory()  : mixed
Add a category to the appointment
addException()  : mixed
Add a recurrence exception
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.
getAttendees()  : array<string|int, mixed>
Get a list of this event's attendees
getBody()  : string
Get the appointment's body
getBusyStatus()  : int
Return the busy status for this appointment.
getCategories()  : array<string|int, mixed>
Return this appointments tags/categories.
getClass()  : string
Return the collection class name the object is for.
getDatetime()  : array<string|int, mixed>
Get the appointment's time data
getDTStamp()  : Horde_Date
Get the appointment's dtimestamp
getEndtime()  : Horde_Date
Return the endtime for this exception, honoring MS-ASCAL 2.2.2.42 and returning the parent's endtime if emtpy.
getExceptions()  : array<string|int, mixed>
Return the exceptions for this appointment.
getExceptionStartTime()  : Horde_Date
Exception start time. This field seems to have different usages depending on if this is a command request from the client or from the server. If it's part of a request from client, then it represents the date of the exception that is to be deleted. If it is from server, it represents the date of the *original* recurring event.
getLocation()  : string
Get the location field
getMeetingStatus()  : int
Return the meeting status for this meeting.
getOrganizer()  : array<string|int, mixed>
Get the details for the appointment organizer
getProtocolVersion()  : float
Return the EAS version this object supports.
getRecurrence()  : Horde_Date_Recurrence
Obtain a recurrence object. Note this returns a Horde_Date_Recurrence object, not Horde_ActiveSync_Message_Recurrence.
getReminder()  : int|bool
Get the reminder time.
getResponseType()  : int
Get response type
getSensitivity()  : int
Return the sensitivity setting for this appointment
getServerUID()  : string
Obtain the server UID. See note above.
getStarttime()  : Horde_Date
Return the starttime for this exception, honoring MS-ASCAL 2.2.2.42 and returning the parent's starttime if emtpy.
getSubject()  : string
Get the subject
getSupported()  : array<string|int, mixed>
Get the list of non-ghosted properties for this message.
getTimezone()  : string
Get the event's timezone
getUid()  : string
Get the client's UID. See not above regarding server UIDs.
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.
setBody()  : mixed
Set the appointment's body
setBusyStatus()  : mixed
Sets the busy status for this appointment
setDatetime()  : mixed
Set the appointment time/duration.
setDeletedFlag()  : mixed
Sets the DELETED field on this exception
setDTStamp()  : mixed
Set the appointment's modify timestamp
setExceptionStartTime()  : mixed
Set the exceptionStartTime value.
setLocation()  : mixed
Set appointment location field.
setMeetingStatus()  : mixed
Set the status for this appointment. Should be one of: none, meeting, received, canceled, canceledreceived.
setOrganizer()  : mixed
Set the organizer name and/or email
setParentAppointment()  : mixed
setRecurrence()  : mixed
Set recurrence information for this appointment
setReminder()  : mixed
Set reminder for this appointment.
setResponseType()  : mixed
Set user response type. Should be one of: none, organizer, tentative, accepted, declined
setSensitivity()  : mixed
Set the sensitivity level for this appointment.
setServerUID()  : mixed
Because the client doesn't pass the server uid as part of the message, we need to add it manually so the backend can have access to it when changing this object.
setSubject()  : mixed
Set the appointment subject field.
setSupported()  : mixed
Set the list of non-ghosted fields for this message.
setTimezone()  : mixed
Set the timezone
setUid()  : mixed
Set the appointment uid. Note that this is the client's UID value, and not the value that the server normally uses for the UID. ActiveSync messages do not normally include any server uid value as part of the message directly. This causes issues with meeting requests since most clients will use the CLIENT_ENTRY_ID for this value, and will send the invitation email out using this value as the UID so we sort-of HAVE to use this value as the server's UID.
_checkDatetime()  : mixed
Checks that the start and end times are populated correctly.
_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.
_parseDate()  : Horde_Date|bool
Get a Horde_Date from a timestamp, ensuring it's in the correct format.
_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

BUSYSTATUS_ELSEWHERE

public mixed BUSYSTATUS_ELSEWHERE = 4

BUSYSTATUS_TENTATIVE

public mixed BUSYSTATUS_TENTATIVE = 1

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

MEETING_CANCELLED

public mixed MEETING_CANCELLED = 5

MEETING_CANCELLED_RECEIVED

public mixed MEETING_CANCELLED_RECEIVED = 7

MEETING_IS_MEETING

public mixed MEETING_IS_MEETING = 1

MEETING_NOT_MEETING

public mixed MEETING_NOT_MEETING = 0

POOMCAL_ALLDAYEVENT

public mixed POOMCAL_ALLDAYEVENT = 'POOMCAL:AllDayEvent'

POOMCAL_APPOINTMENTREPLYTIME

public mixed POOMCAL_APPOINTMENTREPLYTIME = 'POOMCAL:AppointmentReplyTime'

POOMCAL_ATTENDEE

public mixed POOMCAL_ATTENDEE = 'POOMCAL:Attendee'

POOMCAL_ATTENDEES

public mixed POOMCAL_ATTENDEES = 'POOMCAL:Attendees'

POOMCAL_ATTENDEESTATUS

public mixed POOMCAL_ATTENDEESTATUS = 'POOMCAL:AttendeeStatus'

POOMCAL_ATTENDEETYPE

public mixed POOMCAL_ATTENDEETYPE = 'POOMCAL:AttendeeType'

POOMCAL_BODY

public mixed POOMCAL_BODY = 'POOMCAL:Body'

POOMCAL_BODYTRUNCATED

public mixed POOMCAL_BODYTRUNCATED = 'POOMCAL:BodyTruncated'

POOMCAL_BUSYSTATUS

public mixed POOMCAL_BUSYSTATUS = 'POOMCAL:BusyStatus'

POOMCAL_CALENDARTYPE

public mixed POOMCAL_CALENDARTYPE = 'POOMCAL:CalendarType'

POOMCAL_CATEGORIES

public mixed POOMCAL_CATEGORIES = 'POOMCAL:Categories'

POOMCAL_CATEGORY

public mixed POOMCAL_CATEGORY = 'POOMCAL:Category'

POOMCAL_CLIENTUID

public mixed POOMCAL_CLIENTUID = 'POOMCAL:ClientUid'

POOMCAL_DAYOFMONTH

public mixed POOMCAL_DAYOFMONTH = 'POOMCAL:DayOfMonth'

POOMCAL_DAYOFWEEK

public mixed POOMCAL_DAYOFWEEK = 'POOMCAL:DayOfWeek'

POOMCAL_DELETED

public mixed POOMCAL_DELETED = 'POOMCAL:Deleted'

POOMCAL_DISALLOWNEWTIMEPROPOSAL

public mixed POOMCAL_DISALLOWNEWTIMEPROPOSAL = 'POOMCAL:DisallowNewTimeProposal'

POOMCAL_DTSTAMP

public mixed POOMCAL_DTSTAMP = 'POOMCAL:DtStamp'

POOMCAL_EMAIL

public mixed POOMCAL_EMAIL = 'POOMCAL:Email'

POOMCAL_ENDTIME

public mixed POOMCAL_ENDTIME = 'POOMCAL:EndTime'

POOMCAL_EXCEPTION

public mixed POOMCAL_EXCEPTION = 'POOMCAL:Exception'

POOMCAL_EXCEPTIONS

public mixed POOMCAL_EXCEPTIONS = 'POOMCAL:Exceptions'

POOMCAL_EXCEPTIONSTARTTIME

public mixed POOMCAL_EXCEPTIONSTARTTIME = 'POOMCAL:ExceptionStartTime'

POOMCAL_FIRSTDAYOFWEEK

public mixed POOMCAL_FIRSTDAYOFWEEK = 'POOMCAL:FirstDayOfWeek'

POOMCAL_INTERVAL

public mixed POOMCAL_INTERVAL = 'POOMCAL:Interval'

POOMCAL_ISLEAPMONTH

public mixed POOMCAL_ISLEAPMONTH = 'POOMCAL:IsLeapMonth'

POOMCAL_LOCATION

public mixed POOMCAL_LOCATION = 'POOMCAL:Location'

POOMCAL_MEETINGSTATUS

public mixed POOMCAL_MEETINGSTATUS = 'POOMCAL:MeetingStatus'

POOMCAL_MONTHOFYEAR

public mixed POOMCAL_MONTHOFYEAR = 'POOMCAL:MonthOfYear'

POOMCAL_NAME

public mixed POOMCAL_NAME = 'POOMCAL:Name'

POOMCAL_OCCURRENCES

public mixed POOMCAL_OCCURRENCES = 'POOMCAL:Occurrences'
public mixed POOMCAL_ONLINECONFLINK = 'POOMCAL:OnlineMeetingConfLink'
public mixed POOMCAL_ONLINEEXTLINK = 'POOMCAL:OnlineMeetingExternalLink'

POOMCAL_ORGANIZEREMAIL

public mixed POOMCAL_ORGANIZEREMAIL = 'POOMCAL:OrganizerEmail'

POOMCAL_ORGANIZERNAME

public mixed POOMCAL_ORGANIZERNAME = 'POOMCAL:OrganizerName'

POOMCAL_RECURRENCE

public mixed POOMCAL_RECURRENCE = 'POOMCAL:Recurrence'

POOMCAL_REMINDER

public mixed POOMCAL_REMINDER = 'POOMCAL:Reminder'

POOMCAL_RESPONSEREQUESTED

public mixed POOMCAL_RESPONSEREQUESTED = 'POOMCAL:ResponseRequested'

POOMCAL_RESPONSETYPE

public mixed POOMCAL_RESPONSETYPE = 'POOMCAL:ResponseType'

POOMCAL_RTF

public mixed POOMCAL_RTF = 'POOMCAL:Rtf'

POOMCAL_SENSITIVITY

public mixed POOMCAL_SENSITIVITY = 'POOMCAL:Sensitivity'

POOMCAL_STARTTIME

public mixed POOMCAL_STARTTIME = 'POOMCAL:StartTime'

POOMCAL_SUBJECT

public mixed POOMCAL_SUBJECT = 'POOMCAL:Subject'

POOMCAL_TIMEZONE

public mixed POOMCAL_TIMEZONE = 'POOMCAL:Timezone'

POOMCAL_TYPE

public mixed POOMCAL_TYPE = 'POOMCAL:Type'

POOMCAL_UID

public mixed POOMCAL_UID = 'POOMCAL:UID'

POOMCAL_UNTIL

public mixed POOMCAL_UNTIL = 'POOMCAL:Until'

POOMCAL_WEEKOFMONTH

public mixed POOMCAL_WEEKOFMONTH = 'POOMCAL:WeekOfMonth'

PROPERTY_NO_CONTAINER

public mixed PROPERTY_NO_CONTAINER = 7

RESPONSE_ACCEPTED

public mixed RESPONSE_ACCEPTED = 3

RESPONSE_DECLINED

public mixed RESPONSE_DECLINED = 4

RESPONSE_NORESPONSE

public mixed RESPONSE_NORESPONSE = 5

RESPONSE_ORGANIZER

public mixed RESPONSE_ORGANIZER = 1

RESPONSE_TENTATIVE

public mixed RESPONSE_TENTATIVE = 2

SENSITIVITY_CONFIDENTIAL

public mixed SENSITIVITY_CONFIDENTIAL = 3

SENSITIVITY_NORMAL

public mixed SENSITIVITY_NORMAL = 0

SENSITIVITY_PERSONAL

public mixed SENSITIVITY_PERSONAL = 1

SENSITIVITY_PRIVATE

public mixed SENSITIVITY_PRIVATE = 2

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

$attendees

public array<string|int, mixed> $attendees

$categories

public array<string|int, mixed> $categories

$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

$exceptionstarttime

public Horde_Date $exceptionstarttime

(EAS <= 14.1 only).

$flags

Message flags

public mixed $flags = \false

Horde_ActiveSync::FLAG_* constant

$instanceid

public Horde_Date $instanceid

(EAS >= 16.0 only).

$organizeremail

public string $organizeremail

$string|Horde_Date

public mixed $string|Horde_Date

timezone

$_dayOfWeekMap

DOW mapping for DATE to MASK

protected array<string|int, mixed> $_dayOfWeekMap = array(\Horde_Date::DATE_SUNDAY => \Horde_Date::MASK_SUNDAY, \Horde_Date::DATE_MONDAY => \Horde_Date::MASK_MONDAY, \Horde_Date::DATE_TUESDAY => \Horde_Date::MASK_TUESDAY, \Horde_Date::DATE_WEDNESDAY => \Horde_Date::MASK_WEDNESDAY, \Horde_Date::DATE_THURSDAY => \Horde_Date::MASK_THURSDAY, \Horde_Date::DATE_FRIDAY => \Horde_Date::MASK_FRIDAY, \Horde_Date::DATE_SATURDAY => \Horde_Date::MASK_SATURDAY)

$_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_Appointment::POOMCAL_TIMEZONE => array(self::KEY_ATTRIBUTE => 'timezone'), \Horde_ActiveSync_Message_Appointment::POOMCAL_DTSTAMP => array(self::KEY_ATTRIBUTE => 'dtstamp', self::KEY_TYPE => self::TYPE_DATE), \Horde_ActiveSync_Message_Appointment::POOMCAL_STARTTIME => array(self::KEY_ATTRIBUTE => 'starttime', self::KEY_TYPE => self::TYPE_DATE), \Horde_ActiveSync_Message_Appointment::POOMCAL_SUBJECT => array(self::KEY_ATTRIBUTE => 'subject'), \Horde_ActiveSync_Message_Appointment::POOMCAL_ORGANIZERNAME => array(self::KEY_ATTRIBUTE => 'organizername'), \Horde_ActiveSync_Message_Appointment::POOMCAL_ORGANIZEREMAIL => array(self::KEY_ATTRIBUTE => 'organizeremail'), \Horde_ActiveSync_Message_Appointment::POOMCAL_ENDTIME => array(self::KEY_ATTRIBUTE => 'endtime', self::KEY_TYPE => self::TYPE_DATE), \Horde_ActiveSync_Message_Appointment::POOMCAL_SENSITIVITY => array(self::KEY_ATTRIBUTE => 'sensitivity'), \Horde_ActiveSync_Message_Appointment::POOMCAL_BUSYSTATUS => array(self::KEY_ATTRIBUTE => 'busystatus'), \Horde_ActiveSync_Message_Appointment::POOMCAL_ALLDAYEVENT => array(self::KEY_ATTRIBUTE => 'alldayevent'), \Horde_ActiveSync_Message_Appointment::POOMCAL_REMINDER => array(self::KEY_ATTRIBUTE => 'reminder'), \Horde_ActiveSync_Message_Appointment::POOMCAL_MEETINGSTATUS => array(self::KEY_ATTRIBUTE => 'meetingstatus'), \Horde_ActiveSync_Message_Appointment::POOMCAL_ATTENDEES => array(self::KEY_ATTRIBUTE => 'attendees', self::KEY_TYPE => 'Horde_ActiveSync_Message_Attendee', self::KEY_VALUES => \Horde_ActiveSync_Message_Appointment::POOMCAL_ATTENDEE), \Horde_ActiveSync_Message_Appointment::POOMCAL_CATEGORIES => array(self::KEY_ATTRIBUTE => 'categories', self::KEY_VALUES => \Horde_ActiveSync_Message_Appointment::POOMCAL_CATEGORY), \Horde_ActiveSync_Message_Appointment::POOMCAL_DELETED => array(self::KEY_ATTRIBUTE => 'deleted'))

$_properties

Property values.

protected array<string|int, mixed> $_properties = array('timezone' => \false, 'dtstamp' => \false, 'starttime' => \false, 'subject' => \false, 'organizeremail' => \false, 'organizername' => \false, 'endtime' => \false, 'sensitivity' => \false, 'busystatus' => \false, 'alldayevent' => \false, 'reminder' => \false, 'meetingstatus' => \false, 'deleted' => \false, 'attendees' => array(), 'categories' => array())

$_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

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
see
Horde_ActiveSync_Message_Base::__construct()
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
todo:

Return boolean false if not set. Not BC to change it.

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
throws
InvalidArgumentException
Return values
mixed

addAttendee()

Add an attendee to this appointment

public addAttendee(array<string|int, mixed> $attendee) : mixed
Parameters
$attendee : array<string|int, mixed>

'name', 'email' for each attendee

Return values
mixed

addCategory()

Add a category to the appointment

public addCategory(string $category) : mixed
Parameters
$category : string
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
throws
Horde_ActiveSync_Exception
Return values
mixed

getAttendees()

Get a list of this event's attendees

public getAttendees() : array<string|int, mixed>
Return values
array<string|int, mixed>

An array of 'name' and 'email' hashes

getBody()

Get the appointment's body

public getBody() : string
Tags
deprecated
Return values
string

UTF-8 encoded string

getBusyStatus()

Return the busy status for this appointment.

public getBusyStatus() : int
Tags
deprecated
Return values
int

The BUSYSTATUS constant

getCategories()

Return this appointments tags/categories.

public getCategories() : array<string|int, mixed>
Return values
array<string|int, mixed>

getClass()

Return the collection class name the object is for.

public getClass() : string
Return values
string

getDatetime()

Get the appointment's time data

public getDatetime() : array<string|int, mixed>
Return values
array<string|int, mixed>

An array containing:

  • start: (Horde_Date) The start time.
  • end: (Horde_Date) The end time.
  • allday: (boolean) If true, this is an allday event. @deprecated

getDTStamp()

Get the appointment's dtimestamp

public getDTStamp() : Horde_Date
Tags
deprecated
Return values
Horde_Date

The timestamp.

getEndtime()

Return the endtime for this exception, honoring MS-ASCAL 2.2.2.42 and returning the parent's endtime if emtpy.

public getEndtime() : Horde_Date
Return values
Horde_Date

getExceptions()

Return the exceptions for this appointment.

public getExceptions() : array<string|int, mixed>
Return values
array<string|int, mixed>

An array of Horde_ActiveSync_Message_Exception objects

getExceptionStartTime()

Exception start time. This field seems to have different usages depending on if this is a command request from the client or from the server. If it's part of a request from client, then it represents the date of the exception that is to be deleted. If it is from server, it represents the date of the *original* recurring event.

public getExceptionStartTime() : Horde_Date
Tags
deprecated
Return values
Horde_Date

The exception's start time

getLocation()

Get the location field

public getLocation() : string
Tags
deprecated
Return values
string

getMeetingStatus()

Return the meeting status for this meeting.

public getMeetingStatus() : int
Return values
int

A MEETING_* constant

getOrganizer()

Get the details for the appointment organizer

public getOrganizer() : array<string|int, mixed>
Return values
array<string|int, mixed>

with 'name' and 'email' values

getProtocolVersion()

Return the EAS version this object supports.

public getProtocolVersion() : float
Return values
float

A Horde_ActiveSync::VERSION_* constant.

getRecurrence()

Obtain a recurrence object. Note this returns a Horde_Date_Recurrence object, not Horde_ActiveSync_Message_Recurrence.

public getRecurrence() : Horde_Date_Recurrence
Return values
Horde_Date_Recurrence

getReminder()

Get the reminder time.

public getReminder() : int|bool
Tags
deprecated
Return values
int|bool

Number of minutes before appointment for notifications or false if not set.

getResponseType()

Get response type

public getResponseType() : int
Tags
deprecated
Return values
int

The responsetype constant

getSensitivity()

Return the sensitivity setting for this appointment

public getSensitivity() : int
Tags
deprecated
Return values
int

The SENSITIVITY constant

getServerUID()

Obtain the server UID. See note above.

public getServerUID() : string
Return values
string

getStarttime()

Return the starttime for this exception, honoring MS-ASCAL 2.2.2.42 and returning the parent's starttime if emtpy.

public getStarttime() : Horde_Date
Return values
Horde_Date

getSubject()

Get the subject

public getSubject() : string
Tags
deprecated

Retrieve the value directly. I.e., $message->subject

Return values
string

The UTF-8 subject string

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

getTimezone()

Get the event's timezone

public getTimezone() : string
Return values
string

The timezone identifier

getUid()

Get the client's UID. See not above regarding server UIDs.

public getUid() : string
Return values
string

isEmpty()

Returns whether or not this message actually contains any data to send.

public isEmpty() : bool
Tags
since
2.34.0
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

setBody()

Set the appointment's body

public setBody(string $body) : mixed
Parameters
$body : string

UTF-8 encoded string

Tags
deprecated
Return values
mixed

setBusyStatus()

Sets the busy status for this appointment

public setBusyStatus(int $busy) : mixed
Parameters
$busy : int

The BUSYSTATUS constant

Tags
deprecated
Return values
mixed

setDatetime()

Set the appointment time/duration.

public setDatetime([array<string|int, mixed> $datetime = array() ]) : mixed
Parameters
$datetime : array<string|int, mixed> = array()

An array containing:

  • start: (Horde_Date) The start time.
  • end: (Horde_Date) The end time. If omitted, must include duration or allday.
  • duration: (integer) The event duration in seconds.
  • allday: (boolean) If true, this is an allday event.
Tags
throws
InvalidArgumentException
deprecated

Set individual properties manually from calling code.

Return values
mixed

setDeletedFlag()

Sets the DELETED field on this exception

public setDeletedFlag(bool $flag) : mixed
Parameters
$flag : bool
Return values
mixed

setDTStamp()

Set the appointment's modify timestamp

public setDTStamp(mixed $date) : mixed
Parameters
$date : mixed
Tags
deprecated
Return values
mixed

setExceptionStartTime()

Set the exceptionStartTime value.

public setExceptionStartTime(Horde_Date $date) : mixed
Parameters
$date : Horde_Date

The exceptionStartTime.

Tags
deprecated
Return values
mixed

setLocation()

Set appointment location field.

public setLocation(string $location) : mixed
Parameters
$location : string
Tags
deprecated
Return values
mixed

setMeetingStatus()

Set the status for this appointment. Should be one of: none, meeting, received, canceled, canceledreceived.

public setMeetingStatus(int $status) : mixed
Parameters
$status : int

A MEETING_* constant

Return values
mixed

setOrganizer()

Set the organizer name and/or email

public setOrganizer(array<string|int, mixed> $organizer) : mixed
Parameters
$organizer : array<string|int, mixed>
Return values
mixed

setRecurrence()

Set recurrence information for this appointment

public setRecurrence(Horde_Date_Recurrence $recurrence[, int $fdow = null ]) : mixed
Parameters
$recurrence : Horde_Date_Recurrence

The recurrence data.

$fdow : int = null

The first day of the week. (A Horde_ActiveSync_Message_Recurrence:: constant). @since 2.4.0

Return values
mixed

setReminder()

Set reminder for this appointment.

public setReminder(int $minutes) : mixed
Parameters
$minutes : int

The number of minutes before appintment to trigger a reminder.

Tags
deprecated
Return values
mixed

setResponseType()

Set user response type. Should be one of: none, organizer, tentative, accepted, declined

public setResponseType(int $response) : mixed
Parameters
$response : int

The response type constant

Tags
deprecated
Return values
mixed

setSensitivity()

Set the sensitivity level for this appointment.

public setSensitivity(int $sensitivity) : mixed

Should be one of: normal, personal, private, confidential

Parameters
$sensitivity : int

The SENSITIVITY constant

Tags
deprecated
Return values
mixed

setServerUID()

Because the client doesn't pass the server uid as part of the message, we need to add it manually so the backend can have access to it when changing this object.

public setServerUID(string $uid) : mixed
Parameters
$uid : string

The server UID

Return values
mixed

setSubject()

Set the appointment subject field.

public setSubject(string $subject) : mixed
Parameters
$subject : string

A UTF-8 string

Tags
deprecated

Set the property directly. I.e. $message->subject = 'Test'

Return values
mixed

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

setTimezone()

Set the timezone

public setTimezone(mixed $date) : mixed
Parameters
$date : mixed

Either a Horde_Date or timezone descriptor such as America/New_York etc...

Tags
throws
InvalidArgumentException
Return values
mixed

setUid()

Set the appointment uid. Note that this is the client's UID value, and not the value that the server normally uses for the UID. ActiveSync messages do not normally include any server uid value as part of the message directly. This causes issues with meeting requests since most clients will use the CLIENT_ENTRY_ID for this value, and will send the invitation email out using this value as the UID so we sort-of HAVE to use this value as the server's UID.

public setUid(string $uid) : mixed
Parameters
$uid : string

The server's uid for this appointment

Return values
mixed

_checkDatetime()

Checks that the start and end times are populated correctly.

protected _checkDatetime() : mixed
Tags
throws
Horde_ActiveSync_Exception

if starttime is empty but endtime is not.

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
throws
InvalidArgumentException
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

_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.

_preEncodeValidation()

Give concrete classes the chance to enforce rules before encoding messages to send to the client.

protected _preEncodeValidation() : bool
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
since
2.31.0
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

Search results