PHP Class Horde_Kolab_Storage_Driver_Imap, horde

Copyright 2009-2016 Horde LLC (http://www.horde.org/) See the enclosed file COPYING for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.
Inheritance: extends Horde_Kolab_Storage_Driver_Base
Mostra file Open project: horde/horde Class Usage Examples

Public Methods

Method Description
appendMessage ( string $folder, resource $msg ) : mixed Appends a message to the given folder.
create ( string $folder ) : null Create the specified folder.
createBackend ( ) : mixed Create the backend driver.
delete ( string $folder ) : null Delete the specified folder.
deleteAcl ( string $folder, string $user ) : null Delete the access rights for user on a folder.
deleteMessages ( string $folder, integer $uids ) : null Deletes messages from the specified folder.
expunge ( string $folder ) : null Expunges messages in the current folder.
fetchBodypart ( string $folder, array $uid, array $id ) : resource Retrieves a bodypart for the given message ID and mime part ID.
fetchComplete ( string $folder, array $uid ) : array Retrieves a complete message.
fetchHeaders ( string $folder, array $uid ) : Horde_Mime_Headers Retrieves the message headers.
fetchStructure ( string $folder, array $uids ) : array Retrieves the messages for the given message ids.
getAcl ( Horde_Kolab_Storage_Folder $folder ) : An Retrieve the access rights for a folder.
getAnnotation ( string $folder, string $annotation ) : string Fetches the annotation from a folder.
getMyAcl ( string $folder ) : string Retrieve the access rights the current user has on a folder.
getNamespace ( ) : Horde_Kolab_Storage_Driver_Namespace Retrieve the namespace information for this connection.
getStampFromToken ( string $folder, string $token, array $ids ) : Horde_Kolab_Storage_Folder_Stamp Returns a stamp for the current folder status. This stamp can be used to identify changes in the folder data. This method, as opposed to self::getStamp(), uses the IMAP client's token to calculate the changes.
getUids ( string $folder ) : array Returns the message ids of the messages in this folder.
hasAclSupport ( ) : boolean Does the backend support ACL?
listAnnotation ( string $annotation ) : array Retrieves the specified annotation for the complete list of folders.
listFolders ( ) : array Retrieves a list of folders from the server.
moveMessage ( integer $uid, string $old_folder, string $new_folder ) : null Moves a message to a new folder.
rename ( string $old, string $new ) : null Rename the specified folder.
select ( string $folder, $mode = Horde_Imap_Client::OPEN_AUTO ) : null Opens the given folder.
setAcl ( string $folder, string $user, string $acl ) : null Set the access rights for a folder.
setAnnotation ( string $folder, string $annotation, array $value ) : null Sets the annotation on a folder.
status ( string $folder ) : array Returns the status of the current folder.
sync ( string $folder, string $token, array $ids = [] ) : array Synchrozine using a token provided by the IMAP client.

Method Details

appendMessage() public method

Appends a message to the given folder.
public appendMessage ( string $folder, resource $msg ) : mixed
$folder string The folder to append the message(s) to.
$msg resource The message to append.
return mixed True or the UID of the new message in case the backend supports UIDPLUS.

create() public method

Create the specified folder.
public create ( string $folder ) : null
$folder string The folder to create.
return null

createBackend() public method

Create the backend driver.
public createBackend ( ) : mixed
return mixed The backend driver.

delete() public method

Delete the specified folder.
public delete ( string $folder ) : null
$folder string The folder to delete.
return null

deleteAcl() public method

Delete the access rights for user on a folder.
public deleteAcl ( string $folder, string $user ) : null
$folder string The folder to act upon.
$user string The user to delete the ACL for
return null

deleteMessages() public method

Deletes messages from the specified folder.
public deleteMessages ( string $folder, integer $uids ) : null
$folder string The folder to delete messages from.
$uids integer IMAP message ids.
return null

expunge() public method

Expunges messages in the current folder.
public expunge ( string $folder ) : null
$folder string The folder to expunge.
return null

fetchBodypart() public method

Retrieves a bodypart for the given message ID and mime part ID.
public fetchBodypart ( string $folder, array $uid, array $id ) : resource
$folder string The folder to fetch the messages from.
$uid array The message UID.
$id array The mime part ID.
return resource The body part, as a stream resource. The contents are already transfer decoded and presented as 8bit data.

fetchComplete() public method

Retrieves a complete message.
public fetchComplete ( string $folder, array $uid ) : array
$folder string The folder to fetch the messages from.
$uid array The message UID.
return array The message encapsuled as an array that contains a Horde_Mime_Headers and a Horde_Mime_Part object.

fetchHeaders() public method

Retrieves the message headers.
public fetchHeaders ( string $folder, array $uid ) : Horde_Mime_Headers
$folder string The folder to fetch the message from.
$uid array The message UID.
return Horde_Mime_Headers The message headers.

fetchStructure() public method

Retrieves the messages for the given message ids.
public fetchStructure ( string $folder, array $uids ) : array
$folder string The folder to fetch the messages from.
$uids array The message UIDs.
return array An array of message structures parsed into Horde_Mime_Part instances.

getAcl() public method

Retrieve the access rights for a folder.
public getAcl ( Horde_Kolab_Storage_Folder $folder ) : An
$folder Horde_Kolab_Storage_Folder The folder to retrieve the ACL for.
return An array of rights.

getAnnotation() public method

Fetches the annotation from a folder.
public getAnnotation ( string $folder, string $annotation ) : string
$folder string The name of the folder.
$annotation string The annotation to get.
return string The annotation value.

getMyAcl() public method

Retrieve the access rights the current user has on a folder.
public getMyAcl ( string $folder ) : string
$folder string The folder to retrieve the user ACL for.
return string The user rights.

getNamespace() public method

Retrieve the namespace information for this connection.
public getNamespace ( ) : Horde_Kolab_Storage_Driver_Namespace
return Horde_Kolab_Storage_Driver_Namespace The initialized namespace handler.

getStampFromToken() public method

Returns a stamp for the current folder status. This stamp can be used to identify changes in the folder data. This method, as opposed to self::getStamp(), uses the IMAP client's token to calculate the changes.
public getStampFromToken ( string $folder, string $token, array $ids ) : Horde_Kolab_Storage_Folder_Stamp
$folder string Return the stamp for this folder.
$token string A sync token provided by the IMAP server.
$ids array An array of UIDs that we know about.
return Horde_Kolab_Storage_Folder_Stamp A stamp indicating the current folder status.

getUids() public method

Returns the message ids of the messages in this folder.
public getUids ( string $folder ) : array
$folder string Check the status of this folder.
return array The message ids.

hasAclSupport() public method

Does the backend support ACL?
public hasAclSupport ( ) : boolean
return boolean True if the backend supports ACLs.

listAnnotation() public method

Retrieves the specified annotation for the complete list of folders.
public listAnnotation ( string $annotation ) : array
$annotation string The name of the annotation to retrieve.
return array An associative array combining the folder names as key with the corresponding annotation value.

listFolders() public method

Retrieves a list of folders from the server.
public listFolders ( ) : array
return array The list of folders.

moveMessage() public method

Moves a message to a new folder.
public moveMessage ( integer $uid, string $old_folder, string $new_folder ) : null
$uid integer IMAP message id.
$old_folder string Source folder.
$new_folder string Target folder.
return null

rename() public method

Rename the specified folder.
public rename ( string $old, string $new ) : null
$old string The folder to rename.
$new string The new name of the folder.
return null

select() public method

Opens the given folder.
public select ( string $folder, $mode = Horde_Imap_Client::OPEN_AUTO ) : null
$folder string The folder to open
return null

setAcl() public method

Set the access rights for a folder.
public setAcl ( string $folder, string $user, string $acl ) : null
$folder string The folder to act upon.
$user string The user to set the ACL for.
$acl string The ACL.
return null

setAnnotation() public method

Sets the annotation on a folder.
public setAnnotation ( string $folder, string $annotation, array $value ) : null
$folder string The name of the folder.
$annotation string The annotation to set.
$value array The values to set
return null

status() public method

Returns the status of the current folder.
public status ( string $folder ) : array
$folder string Check the status of this folder.
return array An array that contains 'uidvalidity', 'uidnext', and 'token'.

sync() public method

Synchrozine using a token provided by the IMAP client.
public sync ( string $folder, string $token, array $ids = [] ) : array
$folder string The folder to synchronize.
$token string The sync token provided by the IMAP client.
$ids array The list of IMAP message UIDs we currently know about. If omitted, the server will return VANISHED data only if it supports QRESYNC.
return array An array containing the following keys and values: Horde_Kolab_Storage_Folder_Stamp_Uids::DELETED - Contains the UIDs that have VANISHED from the IMAP server. Horde_Kolab_Storage_Folder_Stamp_Uids::ADDED - Contains the UIDs that have been added to the IMAP server since the last sync.