Constants

FOLDERCREATE

FOLDERCREATE

FOLDERDELETE

FOLDERDELETE

FOLDERUPDATE

FOLDERUPDATE

STATUS_SUCCESS

STATUS_SUCCESS

STATUS_DELETION_NOT_SUPPORTED

STATUS_DELETION_NOT_SUPPORTED

STATUS_FOLDER_DOES_NOT_EXIST

STATUS_FOLDER_DOES_NOT_EXIST

STATUS_ERROR

STATUS_ERROR

STATUS_KEYMISM

STATUS_KEYMISM

Properties

$_request

$_request : \Horde_Controller_Request_Http

Request object

Type

\Horde_Controller_Request_Http

$_provisioning

$_provisioning : integer

Whether we require provisioned devices.

Valid values are:

  • Horde_ActiveSync::PROVISIONING_FORCE: Accept ONLY provisioned devices
  • Horde_ActiveSync::PROVISIONING_LOOSE: Force provisioning if device supports provisioning, allow non-provisionable devices as well.
  • Horde_ActiveSync::PROVISIONING_NONE: Allow any device.

Type

integer

$_statusCode

$_statusCode : integer

Used to track what error code to send back to client on failure

Type

integer

$_activeSync

$_activeSync : \Horde_ActiveSync

ActiveSync server

Type

\Horde_ActiveSync

$_logger

$_logger : \Horde_Log_Logger

Logger

Type

\Horde_Log_Logger

$_procid

$_procid : integer

The procid

Type

integer

Methods

checkPolicyKey()

checkPolicyKey(string  $sentKey, string  $requestType = null) : boolean

Ensure the client's policy key is current.

Parameters

string $sentKey

The policykey sent to us by the client

string $requestType

The type of request we are handling. A Horde_ActiveSync constant.

Returns

boolean

setLogger()

setLogger(\Horde_Log_Logger  $logger) 

Set the logger.

Parameters

\Horde_Log_Logger $logger

handle()

handle() : boolean

Handle the request.

Returns

boolean

_cleanUpAfterPairing()

_cleanUpAfterPairing() 

Clean up after initial pairing. Initial pairing can happen either as a result of either a FOLDERSYNC or PROVISION command, depending on the device capabilities.

_requireProvisionWbxml()

_requireProvisionWbxml(string  $requestType, integer  $status) 

Send WBXML to indicate provisioning is required.

Parameters

string $requestType

The type of request we are handling.

integer $status

The reason we need to provision.

_handle()

_handle() : boolean

Handle request.

Notes: For FOLDERCREATE requests or non-email collections, the parent seems to be set to the root of that collection type and the EAS type is included. For new root email folders, the parent is set to ROOT. For FOLDERCHANGE requests, the type is NOT included so the backend must be able to determine the folder type given the folder's id only. Also, the parent element does not seem to be transmitted by the clients I have tested, so even though it is included when creating the new folder, it is NOT included when edting that same folder. sigh

Returns

boolean