$_user
$_user : string
The username to sync with the backend as
Base ActiveSync Driver backend. Provides communication with the actual server backend that ActiveSync will be syncing devices with. This is an abstract class, servers must implement their own backend to provide the needed data.
$_state : \Horde_ActiveSync_State_Base
The state driver for this request. Needs to be injected into this class.
$_device : \Horde_ActiveSync_Device
The device object
__construct(array $params = array()) : \Horde_ActiveSync_Driver
Const'r
array | $params | Any configuration parameters or injected objects the concrete driver may need.
|
authenticate(string $username, string $password, string $domain = null) : mixed
Any code needed to authenticate to backend as the actual user.
string | $username | The username to authenticate as |
string | $password | The password |
string | $domain | The user domain (unused in this driver). |
Boolean true on success, boolean false on credential failure or Horde_ActiveSync::AUTHREASON* constant on policy failure.
fetch(string $folderid, string $id, array $collection) : \Horde_ActiveSync_Message_Base
Obtain the FULL message from the backend, regardless of any truncation options.
string | $folderid | Folder id containing data to fetch. |
string | $id | Server id of data to fetch. |
array | $collection | The collection data. |
The message data
setDevice(\Horde_ActiveSync_Device $device)
Set the currently connected device
\Horde_ActiveSync_Device | $device | The device object. |
None found |
buildFbString(\stdClass $fb, \Horde_Date $start, \Horde_Date $end) : string
Build a EAS style FB string. Essentially, each digit represents 1/2 hour.
The values are as follows: 0 - Free 1 - Tentative 2 - Busy 3 - OOF 4 - No data available.
Though currently we only provide a Free/Busy/Unknown differentiation.
\stdClass | $fb | The fb information. An object containing:
|
\Horde_Date | $start | The start of the period requested by the client. |
\Horde_Date | $end | The end of the period requested by the client. |
The EAS freebusy string.
since | 2.4.0 |
---|
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.
$collection | string The collection id we are currently requesting. |
The SyncStamp
None found |
deleteFolder(string $id, string $parent = \Horde_ActiveSync::FOLDER_ROOT)
Delete a folder on the server.
string | $id | The server's folder id. |
string | $parent | The folder's parent, if needed. |
None found |
changeFolder(string $id, string $displayname, string $parent, string $uid = null) : \Horde_ActiveSync_Message_Folder
Change a folder on the server.
string | $id | The server's folder id |
string | $displayname | The new display name. |
string | $parent | The folder's parent, if needed. |
string | $uid | 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.) |
None found |
moveMessage(string $folderid, array $ids, string $newfolderid) : array
Move message
string | $folderid | Existing folder id |
array | $ids | Message UIDs |
string | $newfolderid | The new folder id |
The new uids for the message.
None found |
getSearchResults(string $type, array $query) : array
Returns array of items which contain contact information
string | $type | The search type; ['gal'|'mailbox'] |
array | $query | The search query. An array containing:
|
An array containing:
None found |
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.
string | $id | The folder id |
mixed | $parent | The parent folder (or 0 if none). |
mixed | $mod | Modification indicator. For folders, this is the name of the folder, since that's the only thing that can change. |
stat hash
None found |
getFolder(string $id) : \Horde_ActiveSync_Message_Folder
Return the ActiveSync message object for the specified folder.
string | $id | The folder's server id. |
object.
None found |
getFolderList() : array
Get the list of folder stat arrays @see self::statFolder()
An array of folder stat arrays.
None found |
getFolders() : array
Return an array of folder objects.
An array of Horde_ActiveSync_Message_Folder objects.
None found |
getServerChanges(\Horde_ActiveSync_Folder_Base $folder, integer $from_ts, integer $to_ts, integer $cutoffdate, boolean $ping) : array
Get a list of server changes that occured during the specified time period.
\Horde_ActiveSync_Folder_Base | $folder | The ActiveSync folder object to request changes for. |
integer | $from_ts | The starting timestamp. |
integer | $to_ts | The ending timestamp. |
integer | $cutoffdate | The earliest date to retrieve back to. |
boolean | $ping | 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. |
Thrown when the requested collection appears to be no longer available. For H6, we should have the application APIs be responsible for differentiating between deleted/not-visible.
A list of messge uids that have chnaged in the specified time period.
todo |
Horde 6
|
---|
statMessage(string $folderId, string $id) : \hash
Get a message stat.
string | $folderId | The folder id |
string | $id | The message id (??) |
with 'id', 'mod', and 'flags' members
None found |
getMessage(string $folderid, string $id, array $collection) : \Horde_ActiveSync_Message_Base
Obtain an ActiveSync message from the backend.
string | $folderid | The server's folder id this message is from |
string | $id | The server's message id |
array | $collection | The colletion data. May contain things like:
|
Horde_Exception_NotFound
The message data
None found |
deleteMessage(string $folderid, array $ids)
Delete a message
string | $folderid | The folder id containing the messages. |
array | $ids | An array of message ids to delete. |
None found |
getWasteBasket(string $class) : string|boolean
Get the wastebasket folder.
string | $class | The collection class. |
Returns name of the trash folder, or false if not using a trash folder.
None found |
changeMessage(string $folderid, string $id, \Horde_ActiveSync_Message_Base $message, \Horde_ActiveSync_Device $device) : array|boolean
Add/Edit a message
string | $folderid | The server id for the folder the message belongs to. |
string | $id | The server's uid for the message if this is a change to an existing message, null if new. |
\Horde_ActiveSync_Message_Base | $message | The activesync message |
\Horde_ActiveSync_Device | $device | The device information |
A stat array if successful, otherwise false.
None found |
setReadFlag(string $folderid, integer $uid, integer $flag)
Set the read (\seen) flag on the specified message.
string | $folderid | The folder id containing the message. |
integer | $uid | The message IMAP UID. |
integer | $flag | The value to set the flag to. |
None found |
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.
mixed | $rfc822 | The rfc822 mime message, a string or stream resource. |
integer | $forward | The UID of the message, if forwarding. |
integer | $reply | The UID of the message if replying. |
string | $parent | The collection id of parent message if forwarding/replying. |
boolean | $save | Save in sent messages. |
None found |
getAttachment(string $name, array $options = array()) : array
Return the specified attachment.
string | $name | The attachment identifier. For this driver, this consists of 'mailbox:uid:mimepart' |
array | $options | Any options requested. Currently supported:
|
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})
None found |
itemOperationsGetAttachmentData(string $filereference) :
Return the specified attachement data for an ITEMOPERATIONS request.
string | $filereference | The attachment identifier. |
None found |
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'.
string | $longid | The unique search result identifier. |
array | $bodyprefs | The bodypreference array. |
boolean | $mimesupport | Mimesupport flag. |
The message requested.
None found |
itemOperationsGetDocumentLibraryLink(string $linkid, array $cred) : array
Return a documentlibrary item.
string | $linkid | The linkid |
array | $cred | A credential array:
|
An array containing the data and metadata:
None found |
statMailMessage(string $folderid, integer|array $id) : array
Build a stat structure for an email message.
string | $folderid | The mailbox name. |
integer|array | $id | The message(s) to stat (IMAP UIDs). |
None found |
getSpecialFolderNameByType(string $type) : string
Return the server id of the specified special folder type.
string | $type | The self::SPECIAL_* constant. |
The folder's server id.
None found |
getCurrentPolicy() : array
Return the security policies.
An array of provisionable properties and values.
None found |
getSettings(array $settings, \Horde_ActiveSync_Device $device) : array
Return settings from the backend for a SETTINGS request.
array | $settings | An array of settings to return. |
\Horde_ActiveSync_Device | $device | The device to obtain settings for. |
The requested settings.
None found |
setSettings(array $settings, \Horde_ActiveSync_Device $device) : array
Set backend settings from a SETTINGS request.
array | $settings | The settings to store. |
\Horde_ActiveSync_Device | $device | The device to store settings for. |
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);
None found |
autoDiscover() : array
Return properties for an AUTODISCOVER request.
An array of properties.
None found |
getUsernameFromEmail(string $email) : string
Attempt to guess a username based on the email address passed from EAS Autodiscover requests.
string | The email address |
The username to use to authenticate to Horde with.
None found |
resolveRecipient(string $type, string $search, array $options = array()) : array
Handle ResolveRecipient requests
string | $type | The type of recipient request. e.g., 'certificate' |
string | $search | The email to resolve. |
array | $options |
An array of results containing any of the following:
None found |
getProvisioning() : mixed
Returns the provisioning support for the current request.
The value of the provisiong support flag.
None found |
meetingResponse(array $response) : string
Hanlde meeting responses.
array | $response | The response data. Contains:
|
Horde_Exception_NotFound
The UID of any created calendar entries, otherwise false.
None found |
getFreebusy(string $user, array $options = array()) : mixed
Request freebusy information from the server
string | $user | The user to request FB information for. |
array | $options | Options. |
boolean|array The FB information, if available. Otherwise false.
None found |
_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.
string | $id | The server's current folder name E.g., INBOX |
string | $type | The folder type, a Horde_ActiveSync::FOLDERTYPE* constant. If empty, assumes FOLDER_TYPE_USER_MAIL |
string | $old_id | 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. |
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
since | 2.4.0 |
---|