Horde_ActiveSync_Message_Appointment
        
        extends Horde_ActiveSync_Message_Base
    
    
            
            in package
            
        
    
    
    
        
            Horde_ActiveSync_Message_Appointment
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
- $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.
- $flags : mixed
- Message flags
- $_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.
- __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() : mixed
- getExceptions() : array<string|int, mixed>
- Return the exceptions for this appointment.
- 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() : mixed
- 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
- Override parent class' method. In EAS 16.0, top level appointment properties are ALWAYS ghosted if they are not explicitly sent.
- 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.
- setDTStamp() : mixed
- Set the appointment's modify timestamp
- 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
- 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 on property values.
- _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
$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
$flags
Message flags
    public
        mixed
    $flags
     = \false
    
        Horde_ActiveSync::FLAG_* constant
$_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(self::POOMCAL_TIMEZONE => array(self::KEY_ATTRIBUTE => 'timezone'), self::POOMCAL_ALLDAYEVENT => array(self::KEY_ATTRIBUTE => 'alldayevent'), self::POOMCAL_BUSYSTATUS => array(self::KEY_ATTRIBUTE => 'busystatus'), self::POOMCAL_ORGANIZERNAME => array(self::KEY_ATTRIBUTE => 'organizername'), self::POOMCAL_ORGANIZEREMAIL => array(self::KEY_ATTRIBUTE => 'organizeremail'), self::POOMCAL_DTSTAMP => array(self::KEY_ATTRIBUTE => 'dtstamp', self::KEY_TYPE => self::TYPE_DATE), self::POOMCAL_ENDTIME => array(self::KEY_ATTRIBUTE => 'endtime', self::KEY_TYPE => self::TYPE_DATE), self::POOMCAL_REMINDER => array(self::KEY_ATTRIBUTE => 'reminder'), self::POOMCAL_SENSITIVITY => array(self::KEY_ATTRIBUTE => 'sensitivity'), self::POOMCAL_SUBJECT => array(self::KEY_ATTRIBUTE => 'subject'), self::POOMCAL_STARTTIME => array(self::KEY_ATTRIBUTE => 'starttime', self::KEY_TYPE => self::TYPE_DATE), self::POOMCAL_UID => array(self::KEY_ATTRIBUTE => 'uid'), self::POOMCAL_MEETINGSTATUS => array(self::KEY_ATTRIBUTE => 'meetingstatus'), self::POOMCAL_ATTENDEES => array(self::KEY_ATTRIBUTE => 'attendees', self::KEY_TYPE => 'Horde_ActiveSync_Message_Attendee', self::KEY_VALUES => self::POOMCAL_ATTENDEE), self::POOMCAL_CATEGORIES => array(self::KEY_ATTRIBUTE => 'categories', self::KEY_VALUES => self::POOMCAL_CATEGORY), self::POOMCAL_RECURRENCE => array(self::KEY_ATTRIBUTE => 'recurrence', self::KEY_TYPE => 'Horde_ActiveSync_Message_Recurrence'), self::POOMCAL_EXCEPTIONS => array(self::KEY_ATTRIBUTE => 'exceptions', self::KEY_TYPE => 'Horde_ActiveSync_Message_Exception', self::KEY_VALUES => self::POOMCAL_EXCEPTION))
    
    
    
$_properties
Property values.
    protected
        array<string|int, mixed>
    $_properties
     = array(
    'alldayevent' => \false,
    'attendees' => array(),
    'busystatus' => \false,
    'categories' => array(),
    'dtstamp' => \false,
    'endtime' => \false,
    'exceptions' => array(),
    'organizeremail' => \false,
    'organizername' => \false,
    'meetingstatus' => \false,
    'recurrence' => \false,
    'reminder' => \false,
    'sensitivity' => \false,
    'starttime' => \false,
    'subject' => \false,
    'timezone' => \false,
    'uid' => \false,
    // Not part of the protocol. Used internally.
    'serveruid' => \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
    
    
    
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()
    public
                    getEndtime() : mixed
        
    
    
        Return values
mixed —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
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()
    public
                    getStarttime() : mixed
        
    
    
        Return values
mixed —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()
Override parent class' method. In EAS 16.0, top level appointment properties are ALWAYS ghosted if they are not explicitly sent.
    public
                    isGhosted(string $property) : bool
    
        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 —setDTStamp()
Set the appointment's modify timestamp
    public
                    setDTStamp(mixed $date) : mixed
    
        Parameters
- $date : mixed
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 —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
    
    
    
    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 on property values.
    protected
                    _validateDecodedValues() : bool
    
    
    
        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