Horde_ActiveSync_Message_Exception
extends Horde_ActiveSync_Message_Appointment
in package
Horde_ActiveSync_Message_Exception::
Tags
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_BUSY
public
mixed
BUSYSTATUS_BUSY
= 2
BUSYSTATUS_ELSEWHERE
public
mixed
BUSYSTATUS_ELSEWHERE
= 4
BUSYSTATUS_FREE
public
mixed
BUSYSTATUS_FREE
= 0
BUSYSTATUS_OUT
public
mixed
BUSYSTATUS_OUT
= 3
BUSYSTATUS_TENTATIVE
public
mixed
BUSYSTATUS_TENTATIVE
= 1
IS_ALL_DAY
public
mixed
IS_ALL_DAY
= 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
MEETING_RECEIVED
public
mixed
MEETING_RECEIVED
= 3
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'
POOMCAL_ONLINECONFLINK
public
mixed
POOMCAL_ONLINECONFLINK
= 'POOMCAL:OnlineMeetingConfLink'
POOMCAL_ONLINEEXTLINK
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_NONE
public
mixed
RESPONSE_NONE
= 0
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
$alldayevent
public
int
$alldayevent
$attendees
public
array<string|int, mixed>
$attendees
$busystatus
public
int
$busystatus
$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
$deleted
public
int
$deleted
$dtstamp
public
Horde_Date
$dtstamp
$endtime
public
Horde_Date
$endtime
$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).
$location
public
string
$location
$meetingstatus
public
int
$meetingstatus
$organizeremail
public
string
$organizeremail
$organizername
public
string
$organizername
$reminder
public
int
$reminder
$sensitivity
public
int
$sensitivity
$starttime
public
Horde_Date
$starttime
$string|Horde_Date
public
mixed
$string|Horde_Date
timezone
$subject
public
string
$subject
$_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)
$_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_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
$_parentAppointment
The parent appointment for this exception. Only set when client code retrieves list of exceptions from the parent.
private
Horde_ActiveSync_Message_Appointment
$_parentAppointment
= \null
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 —addAttachment()
public
addAttachment(Horde_ActiveSync_Message_AirSyncBaseAttachment $atc) : mixed
Parameters
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 —addException()
Add a recurrence exception
public
addException(Horde_ActiveSync_Message_Exception $exception) : mixed
Parameters
- $exception : Horde_ActiveSync_Message_Exception
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 —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
Return values
string —UTF-8 encoded string
getBusyStatus()
Return the busy status for this appointment.
public
getBusyStatus() : int
Tags
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
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
Return values
Horde_Date —The exception's start time
getLocation()
Get the location field
public
getLocation() : string
Tags
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
Return values
int|bool —Number of minutes before appointment for notifications or false if not set.
getResponseType()
Get response type
public
getResponseType() : int
Tags
Return values
int —The responsetype constant
getSensitivity()
Return the sensitivity setting for this appointment
public
getSensitivity() : int
Tags
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
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
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
Return values
mixed —setBusyStatus()
Sets the busy status for this appointment
public
setBusyStatus(int $busy) : mixed
Parameters
- $busy : int
-
The BUSYSTATUS constant
Tags
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
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
Return values
mixed —setExceptionStartTime()
Set the exceptionStartTime value.
public
setExceptionStartTime(Horde_Date $date) : mixed
Parameters
- $date : Horde_Date
-
The exceptionStartTime.
Tags
Return values
mixed —setLocation()
Set appointment location field.
public
setLocation(string $location) : mixed
Parameters
- $location : string
Tags
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 —setParentAppointment()
public
setParentAppointment(Horde_ActiveSync_Message_Appointment $parent) : mixed
Parameters
- $parent : Horde_ActiveSync_Message_Appointment
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
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
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
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
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
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
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 —_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
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