\Horde_ActiveSync_Request_Autodiscover

ActiveSync Handler for Autodiscover requests.

Summary

Methods
Properties
Constants
__construct()
checkPolicyKey()
setLogger()
handle()
No public properties found
No constants found
_cleanUpAfterPairing()
_requireProvisionWbxml()
_handle()
_buildResponseString()
_getEncryptionValue()
_buildFailureResponse()
$_driver
$_state
$_encoder
$_decoder
$_request
$_provisioning
$_statusCode
$_activeSync
$_logger
$_device
$_procid
N/A
No private methods found
No private properties found
N/A

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(\Horde_Controller_Request  $request = null) : \text

Handle request

Parameters

\Horde_Controller_Request $request

Returns

\text —

The content type of the response (text/xml).

_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() : string|boolean

Noop. This class overrides the handle method.

Returns

string|boolean —

Content-Type of results if not wbxml, or boolean.

_buildResponseString()

_buildResponseString(array  $properties) 

Build the appropriate response string to send back to the client.

Parameters

array $properties

An array containing any needed properties. Required properties for mobile sync:

  • request_schema: The request schema sent by the client.
  • response_schema: The schema the client indicated it can accept.
  • culture: The culture value (normally 'en:en').
  • display_name: The user's configured display name.
  • email: The user's email address.
  • url: The url of the Microsoft-Servers-ActiveSync endpoint for this user to use.

    Properties used for Outlook schema:

  • imap: Array describing the IMAP server.
  • pop: Array describing the POP3 server.
  • smtp: Array describing the SMTP server.

    @return string The XML to return to the client.

_getEncryptionValue()

_getEncryptionValue(  $type,   $properties) 

Parameters

$type
$properties

_buildFailureResponse()

_buildFailureResponse(string  $email, string  $status, string  $response_schema) : string

Output failure response code.

Parameters

string $email

The email of the user attempting Autodiscover.

string $status

An appropriate status code for the error. E.g., 600 - Invalid response. 601 - Provider not found for requested schema.

string $response_schema

The response schema value.

Returns

string —

The XML to send to the client.