Property | Type | Description | |
---|---|---|---|
$_authPass | string | User password | |
$_authUser | string | Authenticating user | |
$_device | Horde_ActiveSync_Device | The device object | |
$_logger | Horde_Log_Logger | Logger instance | |
$_params | array | Parameters | |
$_state | Horde_ActiveSync_State_Base | The state driver for this request. Needs to be injected into this class. | |
$_tempMap | array | Temporary serverid to uid map. Used when creating the hierarchy for the first time | |
$_typeMap | |||
$_user | string | The username to sync with the backend as | |
$_version | float | Protocol version |
Method | Description | |
---|---|---|
__construct ( array $params = [] ) : Horde_ActiveSync_Driver | Const'r | |
__destruct ( ) | Prevent circular dependency issues. | |
addDefaultBodyPrefTruncation ( array $bodyprefs ) : array | Add default truncation values for this driver. | |
authenticate ( string $username, string $password, string $domain = null ) : mixed | Any code needed to authenticate to backend as the actual user. | |
autoDiscover ( ) : array | Return properties for an AUTODISCOVER request. | |
buildFbString ( stdClass $fb, Horde_Date $start, Horde_Date $end ) : string | Build a EAS style FB string. Essentially, each digit represents 1/2 hour. | |
changeFolder ( string $id, string $displayname, string $parent, string $uid = null ) : Horde_ActiveSync_Message_Folder | Change a folder on the server. | |
changeMessage ( string $folderid, string $id, Horde_ActiveSync_Message_Base $message, Horde_ActiveSync_Device $device ) : array | boolean | Add/Edit a message | |
clearAuthentication ( ) : boolean | Clear authentication | |
deleteFolder ( string $id, string $parent = Horde_ActiveSync::FOLDER_ROOT ) | Delete a folder on the server. | |
deleteMessage ( string $folderid, array $ids ) | Delete a message | |
fetch ( string $folderid, string $id, array $collection ) : Horde_ActiveSync_Message_Base | Obtain the FULL message from the backend, regardless of any truncation options. | |
getAttachment ( string $name, array $options = [] ) : array | Return the specified attachment. | |
getCurrentPolicy ( ) : array | Return the security policies. | |
getFolder ( string $id ) : Horde_ActiveSync_Message_Folder | Return the ActiveSync message object for the specified folder. | |
getFolderList ( ) : array | Get the list of folder stat arrays @see self::statFolder() | |
getFolders ( ) : array | Return an array of folder objects. | |
getFreebusy ( string $user, array $options = [] ) : mixed | Request freebusy information from the server | |
getHeartbeatConfig ( ) : array | Obtain the ping heartbeat settings | |
getMessage ( string $folderid, string $id, array $collection ) : Horde_ActiveSync_Message_Base | Obtain an ActiveSync message from the backend. | |
getProvisioning ( ) : mixed | Returns the provisioning support for the current request. | |
getSearchResults ( string $type, array $query ) : array | Returns array of items which contain contact information | |
getServerChanges ( string $folderId, integer $from_ts, integer $to_ts, integer $cutoffdate, boolean $ping ) : array | Get a list of server changes that occured during the specified time period. | |
getSettings ( array $settings, Horde_ActiveSync_Device $device ) : array | Return settings from the backend for a SETTINGS request. | |
getSpecialFolderNameByType ( string $type ) : string | Return the server id of the specified special folder type. | |
getSyncStamp ( $collection ) : integer | Return the SyncStamp - the value used to determine the end of the current sync range. Default implementation uses timestamps. Concrete drivers can override this to provide another method to do this, such as using modification sequences. | |
getUser ( ) : string | Get the username for this request. | |
getUsernameFromEmail ( string $email ) : string | Attempt to guess a username based on the email address passed from EAS Autodiscover requests. | |
getWasteBasket ( string $class ) : string | boolean | Get the wastebasket folder. | |
itemOperationsFetchMailbox ( string $longid, array $bodyprefs, boolean $mimesupport ) : Horde_ActiveSync_Message_Base | Returnmail object represented by the specified longid. Used to fetch email objects from a search result, which only returns a 'longid'. | |
itemOperationsGetAttachmentData ( string $filereference ) | Return the specified attachement data for an ITEMOPERATIONS request. | |
itemOperationsGetDocumentLibraryLink ( string $linkid, array $cred ) : array | Return a documentlibrary item. | |
meetingResponse ( array $response ) : string | Hanlde meeting responses. | |
moveMessage ( string $folderid, array $ids, string $newfolderid ) : array | Move message | |
resolveRecipient ( string $type, string $search, array $options = [] ) : array | Handle ResolveRecipient requests | |
sendMail ( mixed $rfc822, integer $forward = null, integer $reply = null, string $parent = null, boolean $save = true ) : boolean | Sends the email represented by the rfc822 string received by the client. | |
setDevice ( Horde_ActiveSync_Device $device ) | Set the currently connected device | |
setLogger ( Horde_Log_Logger $logger ) | Setter for the logger instance | |
setProtocolVersion ( float $version ) | Set the protocol version. Can't do it in constructer since we don't know the version at the time this driver is instantiated. | |
setReadFlag ( string $folderid, integer $uid, integer $flag ) | Set the read (\seen) flag on the specified message. | |
setSettings ( array $settings, Horde_ActiveSync_Device $device ) : array | Set backend settings from a SETTINGS request. | |
setup ( string $user ) : boolean | Setup sync parameters. The user provided here is the user the backend will sync with. This allows you to authenticate as one user, and sync as another, if the backend supports this. | |
statFolder ( string $id, mixed $parent, mixed $mod = null ) : a | Stat folder. Note that since the only thing that can ever change for a folder is the name, we use that as the 'mod' value. | |
statMailMessage ( string $folderid, integer | array $id ) : array | Build a stat structure for an email message. | |
statMessage ( string $folderId, string $id ) : hash | Get a message stat. |
Method | Description | |
---|---|---|
_getClassFromType ( integer $type ) : string | Convert a TYPE constant into it's associated CLASS constant. | |
_getFolderUidForBackendId ( string $id, string $type = null, string $old_id = null ) : string | Get an activesync uid for the given backend serverid. If we've seen this serverid before, return the previously created uid, otherwise return a new one. |
public __construct ( array $params = [] ) : Horde_ActiveSync_Driver | ||
$params | array | Any configuration parameters or injected objects the concrete driver may need. - logger: (Horde_Log_Logger) The logger. DEFAULT: none (No logging). - state: (Horde_ActiveSync_State_Base) The state driver. DEFAULT: none (REQUIRED). |
return | Horde_ActiveSync_Driver |
protected _getClassFromType ( integer $type ) : string | ||
$type | integer | The TYPE. |
return | string | The CLASS |
protected _getFolderUidForBackendId ( string $id, string $type = null, string $old_id = null ) : string | ||
$id | string | The server's current folder name E.g., INBOX |
$type | string | The folder type, a Horde_ActiveSync::FOLDER_TYPE_* constant. If empty, assumes FOLDER_TYPE_USER_MAIL |
$old_id | string | The previous folder name for this folder, if the folder is being renamed. @since 2.15.0 @todo This is tempoarary until 3.0 (H6) when we will have the collection manager take care of ALL of the folder name <-> UID mapping management. |
return | string | A unique identifier for the specified backend folder id. The first character indicates the foldertype as such: 'F' - Email 'C' - Contact 'A' - Appointment 'T' - Task 'N' - Note |
public addDefaultBodyPrefTruncation ( array $bodyprefs ) : array | ||
$bodyprefs | array | BODYPREFERENCE data. |
return | array | The BODYPREFERENCE data, with default truncationsize values. |
public authenticate ( string $username, string $password, string $domain = null ) : mixed | ||
$username | string | The username to authenticate as |
$password | string | The password |
$domain | string | The user domain (unused in this driver). |
return | mixed | Boolean true on success, boolean false on credential failure or Horde_ActiveSync::AUTH_REASON_* constant on policy failure. |
abstract public autoDiscover ( ) : array | ||
return | array | An array of properties. |
public static buildFbString ( stdClass $fb, Horde_Date $start, Horde_Date $end ) : string | ||
$fb | stdClass | The fb information. An object containing: - s: The start of the period covered. - e: The end of the period covered. - b: An array of busy periods. |
$start | Horde_Date | The start of the period requested by the client. |
$end | Horde_Date | The end of the period requested by the client. |
return | string | The EAS freebusy string. |
abstract public changeFolder ( string $id, string $displayname, string $parent, string $uid = null ) : Horde_ActiveSync_Message_Folder | ||
$id | string | The server's folder id |
$displayname | string | The new display name. |
$parent | string | The folder's parent, if needed. |
$uid | string | The existing folder uid, if this is an edit. @since 2.9.0 (@todo Look at this for H6. It's here now to save an extra DB lookup for data we already have.) |
return | Horde_ActiveSync_Message_Folder |
abstract public changeMessage ( string $folderid, string $id, Horde_ActiveSync_Message_Base $message, Horde_ActiveSync_Device $device ) : array | boolean | ||
$folderid | string | The server id for the folder the message belongs to. |
$id | string | The server's uid for the message if this is a change to an existing message, null if new. |
$message | Horde_ActiveSync_Message_Base | The activesync message |
$device | Horde_ActiveSync_Device | The device information |
return | array | boolean | A stat array if successful, otherwise false. |
public clearAuthentication ( ) : boolean | ||
return | boolean |
abstract public deleteFolder ( string $id, string $parent = Horde_ActiveSync::FOLDER_ROOT ) | ||
$id | string | The server's folder id. |
$parent | string | The folder's parent, if needed. |
abstract public deleteMessage ( string $folderid, array $ids ) | ||
$folderid | string | The folder id containing the messages. |
$ids | array | An array of message ids to delete. |
abstract public getAttachment ( string $name, array $options = [] ) : array | ||
$name | string | The attachment identifier. For this driver, this consists of 'mailbox:uid:mimepart' |
$options | array | Any options requested. Currently supported: - stream: (boolean) Return a stream resource for the mime contents. |
return | array | The attachment in the form of an array with the following structure: array('content-type' => {the content-type of the attachement}, 'data' => {the raw attachment data}) |
abstract public getCurrentPolicy ( ) : array | ||
return | array | An array of provisionable properties and values. |
abstract public getFolderList ( ) : array | ||
return | array | An array of folder stat arrays. |
abstract public getFolders ( ) : array | ||
return | array | An array of Horde_ActiveSync_Message_Folder objects. |
public getHeartbeatConfig ( ) : array | ||
return | array |
abstract public getMessage ( string $folderid, string $id, array $collection ) : Horde_ActiveSync_Message_Base | ||
$folderid | string | The server's folder id this message is from |
$id | string | The server's message id |
$collection | array | The colletion data. May contain things like: - mimesupport: (integer) Indicates if the device has MIME support. DEFAULT: 0 (No MIME support) - truncation: (integer) Non-MIME truncation limit. Anything larger than this amount of bytes will be truncated. DEFAULT: 0 (No truncation) - mimetruncation: (integer) MIME truncation limit. Anything larger than this amount of bytes will be truncated. DEFAULT: 0 (No truncation) - bodyprefs: (array) The bodypref array from the device. |
return | Horde_ActiveSync_Message_Base | The message data |
abstract public getProvisioning ( ) : mixed | ||
return | mixed | The value of the provisiong support flag. |
abstract public getSearchResults ( string $type, array $query ) : array | ||
$type | string | The search type; ['gal'|'mailbox'] |
$query | array | The search query. An array containing: - query: (string) The search term. DEFAULT: none, REQUIRED - range: (string) A range limiter. DEFAULT: none (No range used). |
return | array | An array containing: - rows: An array of search results - status: The search store status code. |
abstract public getServerChanges ( string $folderId, integer $from_ts, integer $to_ts, integer $cutoffdate, boolean $ping ) : array | ||
$folderId | string | The server id of the collection to check. |
$from_ts | integer | The starting timestamp. |
$to_ts | integer | The ending timestamp. |
$cutoffdate | integer | The earliest date to retrieve back to. |
$ping | boolean | If true, returned changeset may not contain the full changeset, may only contain a single change, designed only to indicate *some* change has taken place. The value should not be used to determine *what* change has taken place. |
return | array | A list of messge uids that have chnaged in the specified time period. |
abstract public getSettings ( array $settings, Horde_ActiveSync_Device $device ) : array | ||
$settings | array | An array of settings to return. |
$device | Horde_ActiveSync_Device | The device to obtain settings for. |
return | array | The requested settings. |
abstract public getSpecialFolderNameByType ( string $type ) : string | ||
$type | string | The self::SPECIAL_* constant. |
return | string | The folder's server id. |
public getSyncStamp ( $collection ) : integer | ||
$collection | string The collection id we are currently requesting. | |
return | integer | The SyncStamp |
abstract public getUsernameFromEmail ( string $email ) : string | ||
string | The email address | |
return | string | The username to use to authenticate to Horde with. |
abstract public itemOperationsFetchMailbox ( string $longid, array $bodyprefs, boolean $mimesupport ) : Horde_ActiveSync_Message_Base | ||
$longid | string | The unique search result identifier. |
$bodyprefs | array | The bodypreference array. |
$mimesupport | boolean | Mimesupport flag. |
return | Horde_ActiveSync_Message_Base | The message requested. |
abstract public itemOperationsGetAttachmentData ( string $filereference ) | ||
$filereference | string | The attachment identifier. |
abstract public meetingResponse ( array $response ) : string | ||
$response | array | The response data. Contains: - requestid: The identifier of the meeting request. Used by the server to fetch the original meeting request details. - response: The user's response to the request. One of the response code constants. - folderid: The collection id that contains the meeting request. |
return | string | The UID of any created calendar entries, otherwise false. |
abstract public resolveRecipient ( string $type, string $search, array $options = [] ) : array | ||
$type | string | The type of recipient request. e.g., 'certificate' |
$search | string | The email to resolve. |
$options | array | |
return | array | An array of results containing any of the following: - type: (string) The type of result a GAL entry or personal address book entry. A Horde_ActiveSync::RESOLVE_RESULT constant. - displayname: (string) The display name of the contact. - emailaddress: (string) The emailaddress. - entries: (array) An array of certificates. - availability: (string) A EAS style FB string. - picture: (Horde_ActiveSync_Message_ResolveRecipientsPicture) |
abstract public sendMail ( mixed $rfc822, integer $forward = null, integer $reply = null, string $parent = null, boolean $save = true ) : boolean | ||
$rfc822 | mixed | The rfc822 mime message, a string or stream resource. |
$forward | integer | The UID of the message, if forwarding. |
$reply | integer | The UID of the message if replying. |
$parent | string | The collection id of parent message if forwarding/replying. |
$save | boolean | Save in sent messages. |
return | boolean |
public setDevice ( Horde_ActiveSync_Device $device ) | ||
$device | Horde_ActiveSync_Device | The device object. |
public setLogger ( Horde_Log_Logger $logger ) | ||
$logger | Horde_Log_Logger | The logger |
public setProtocolVersion ( float $version ) | ||
$version | float | The EAS protocol version to use. |
abstract public setSettings ( array $settings, Horde_ActiveSync_Device $device ) : array | ||
$settings | array | The settings to store. |
$device | Horde_ActiveSync_Device | The device to store settings for. |
return | array | An array of status responses for each set request. e.g.,: array('oof' => Horde_ActiveSync_Request_Settings::STATUS_SUCCESS, 'deviceinformation' => Horde_ActiveSync_Request_Settings::STATUS_SUCCESS); |
abstract public statMessage ( string $folderId, string $id ) : hash | ||
$folderId | string | The folder id |
$id | string | The message id (??) |
return | hash | with 'id', 'mod', and 'flags' members |
protected Horde_ActiveSync_Device $_device | ||
return | Horde_ActiveSync_Device |
protected Horde_Log_Logger $_logger | ||
return | Horde_Log_Logger |
protected Horde_ActiveSync_State_Base $_state | ||
return | Horde_ActiveSync_State_Base |
protected array $_tempMap | ||
return | array |
protected string $_user | ||
return | string |