From b3e60b1793c4d85444391a45cee0ef38501539bf Mon Sep 17 00:00:00 2001 From: James Armes Date: Thu, 18 Dec 2014 20:24:29 -0500 Subject: [PATCH] Added missing operations and updated documentation. This closes #229 and closes #230. --- EWSType/DeleteUserConfigurationType.php | 2 +- EWSType/GetAttachmentType.php | 18 +- EWSType/GetEventsType.php | 4 + EWSType/GetRoomListsResponseMessageType.php | 12 +- EWSType/GetRoomsResponseMessageType.php | 12 +- EWSType/GetRoomsType.php | 2 +- EWSType/RemoveDelegateResponseMessageType.php | 10 +- EWSType/RemoveDelegateType.php | 2 +- EWSType/SendItemType.php | 20 +- EWSType/UpdateDelegateResponseMessageType.php | 8 +- EWSType/UpdateDelegateType.php | 2 +- EWSType/UpdateInboxRulesRequestType.php | 6 +- EWSType/UpdateInboxRulesResponseType.php | 12 +- ExchangeWebServices.php | 710 +++++++++++++++--- 14 files changed, 658 insertions(+), 162 deletions(-) mode change 100644 => 100755 EWSType/DeleteUserConfigurationType.php mode change 100644 => 100755 EWSType/GetAttachmentType.php mode change 100644 => 100755 EWSType/GetEventsType.php mode change 100644 => 100755 EWSType/GetRoomListsResponseMessageType.php mode change 100644 => 100755 EWSType/GetRoomsResponseMessageType.php mode change 100644 => 100755 EWSType/GetRoomsType.php mode change 100644 => 100755 EWSType/RemoveDelegateResponseMessageType.php mode change 100644 => 100755 EWSType/RemoveDelegateType.php mode change 100644 => 100755 EWSType/SendItemType.php mode change 100644 => 100755 EWSType/UpdateDelegateResponseMessageType.php mode change 100644 => 100755 EWSType/UpdateDelegateType.php mode change 100644 => 100755 EWSType/UpdateInboxRulesRequestType.php mode change 100644 => 100755 EWSType/UpdateInboxRulesResponseType.php mode change 100644 => 100755 ExchangeWebServices.php diff --git a/EWSType/DeleteUserConfigurationType.php b/EWSType/DeleteUserConfigurationType.php old mode 100644 new mode 100755 index 27bde903..4640b629 --- a/EWSType/DeleteUserConfigurationType.php +++ b/EWSType/DeleteUserConfigurationType.php @@ -15,7 +15,7 @@ class EWSType_DeleteUserConfigurationType extends EWSType /** * Represents the name of the user configuration object to delete. * - * @since Exchange 2007 + * @since Exchange 2010 * * @var EWSType_UserConfigurationNameType */ diff --git a/EWSType/GetAttachmentType.php b/EWSType/GetAttachmentType.php old mode 100644 new mode 100755 index 90321136..b2342524 --- a/EWSType/GetAttachmentType.php +++ b/EWSType/GetAttachmentType.php @@ -13,23 +13,23 @@ class EWSType_GetAttachmentType extends EWSType { /** - * Identifies additional extended item properties to return in a response to - * a GetAttachment request. - * - * This element is optional. + * Contains an array of attachment identifiers. * * @since Exchange 2007 * - * @var EWSType_AttachmentResponseShapeType + * @var EWSType_NonEmptyArrayOfRequestAttachmentIdsType */ - public $AttachmentShape; + public $AttachmentIds; /** - * Contains an array of attachment identifiers. + * Identifies additional extended item properties to return in a response to + * a GetAttachment request. + * + * This element is optional. * * @since Exchange 2007 * - * @var EWSType_NonEmptyArrayOfRequestAttachmentIdsType + * @var EWSType_AttachmentResponseShapeType */ - public $AttachmentIds; + public $AttachmentShape; } diff --git a/EWSType/GetEventsType.php b/EWSType/GetEventsType.php old mode 100644 new mode 100755 index 3e9ddedf..c5b4b750 --- a/EWSType/GetEventsType.php +++ b/EWSType/GetEventsType.php @@ -16,6 +16,8 @@ class EWSType_GetEventsType extends EWSType /** * Represents the identifier for a subscription that is queried for events. * + * @since Exchange 2007 + * * @var string */ public $SubscriptionId; @@ -27,6 +29,8 @@ class EWSType_GetEventsType extends EWSType * the watermark returned from the Subscribe request. Otherwise, the * watermark from the last event in the last GetEvents response is used. * + * @since Exchange 2007 + * * @var string */ public $Watermark; diff --git a/EWSType/GetRoomListsResponseMessageType.php b/EWSType/GetRoomListsResponseMessageType.php old mode 100644 new mode 100755 index 00d3eca9..44497fcd --- a/EWSType/GetRoomListsResponseMessageType.php +++ b/EWSType/GetRoomListsResponseMessageType.php @@ -17,7 +17,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType * * This element contains a value of 0. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var integer */ @@ -26,7 +26,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType /** * Provides a text description of the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string */ @@ -35,7 +35,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType /** * Provides additional error response information. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string * @@ -46,7 +46,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType /** * Describes the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseClassType */ @@ -56,7 +56,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType * Provides an error code that identifies the specific error that the * request encountered. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseCodeType */ @@ -66,7 +66,7 @@ class EWSType_GetRoomListsResponseMessageType extends EWSType * Provides a list of e-mail addresses and display names that represent * lists of meeting rooms. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ArrayOfEmailAddressesType */ diff --git a/EWSType/GetRoomsResponseMessageType.php b/EWSType/GetRoomsResponseMessageType.php old mode 100644 new mode 100755 index f6c06799..7bd7e929 --- a/EWSType/GetRoomsResponseMessageType.php +++ b/EWSType/GetRoomsResponseMessageType.php @@ -17,7 +17,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType * * This element contains a value of 0. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var integer */ @@ -26,7 +26,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType /** * Provides a text description of the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string */ @@ -35,7 +35,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType /** * Provides additional error response information. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string * @@ -46,7 +46,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType /** * Describes the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseClassType */ @@ -56,7 +56,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType * Provides an error code that identifies the specific error that the * request encountered. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseCodeType */ @@ -66,7 +66,7 @@ class EWSType_GetRoomsResponseMessageType extends EWSType * Provides a list of email addresses and display names that represent * meeting rooms. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ArrayOfRoomsType */ diff --git a/EWSType/GetRoomsType.php b/EWSType/GetRoomsType.php old mode 100644 new mode 100755 index b57dcc64..bca23de1 --- a/EWSType/GetRoomsType.php +++ b/EWSType/GetRoomsType.php @@ -15,7 +15,7 @@ class EWSType_GetRoomsType extends EWSType /** * Represents an e-mail address that identifies a list of meeting rooms. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_EmailAddressType */ diff --git a/EWSType/RemoveDelegateResponseMessageType.php b/EWSType/RemoveDelegateResponseMessageType.php old mode 100644 new mode 100755 index 14d05cba..5844908b --- a/EWSType/RemoveDelegateResponseMessageType.php +++ b/EWSType/RemoveDelegateResponseMessageType.php @@ -17,7 +17,7 @@ class EWSType_RemoveDelegateResponseMessageType extends EWSType * * This element contains a value of 0. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var integer */ @@ -26,7 +26,7 @@ class EWSType_RemoveDelegateResponseMessageType extends EWSType /** * Provides a text description of the status of the response. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var string */ @@ -35,7 +35,7 @@ class EWSType_RemoveDelegateResponseMessageType extends EWSType /** * Provides additional error response information. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var string * @@ -47,7 +47,7 @@ class EWSType_RemoveDelegateResponseMessageType extends EWSType * Provides an error code that identifies the specific error that the * request encountered. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var EWSType_ResponseCodeType */ @@ -57,7 +57,7 @@ class EWSType_RemoveDelegateResponseMessageType extends EWSType * Contains the response messages for an Exchange Web Services delegate * management request. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var EWSType_ArrayOfDelegateUserResponseMessageType */ diff --git a/EWSType/RemoveDelegateType.php b/EWSType/RemoveDelegateType.php old mode 100644 new mode 100755 index 9d7a164e..b579ba2c --- a/EWSType/RemoveDelegateType.php +++ b/EWSType/RemoveDelegateType.php @@ -15,7 +15,7 @@ class EWSType_RemoveDelegateType extends EWSType /** * Identifies the principal's mailbox. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var EWSType_EmailAddressType */ diff --git a/EWSType/SendItemType.php b/EWSType/SendItemType.php old mode 100644 new mode 100755 index 0d1b9506..0158d57b --- a/EWSType/SendItemType.php +++ b/EWSType/SendItemType.php @@ -23,6 +23,16 @@ class EWSType_SendItemType extends EWSType */ public $ItemIds; + /** + * Identifies the target folder for operations that update, send, and create + * items in the Exchange store. + * + * @since Exchange 2007 + * + * @var EWSType_TargetFolderIdType + */ + public $SavedItemFolderId; + /** * Identifies whether a copy of the sent item is saved. * @@ -36,14 +46,4 @@ class EWSType_SendItemType extends EWSType * @var boolean */ public $SaveItemToFolder; - - /** - * Identifies the target folder for operations that update, send, and create - * items in the Exchange store. - * - * @since Exchange 2007 - * - * @var EWSType_TargetFolderIdType - */ - public $SavedItemFolderId; } diff --git a/EWSType/UpdateDelegateResponseMessageType.php b/EWSType/UpdateDelegateResponseMessageType.php old mode 100644 new mode 100755 index 68162b76..c3fc745b --- a/EWSType/UpdateDelegateResponseMessageType.php +++ b/EWSType/UpdateDelegateResponseMessageType.php @@ -17,7 +17,7 @@ class EWSType_UpdateDelegateResponseMessageType extends EWSType * * This element contains a value of 0. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var integer */ @@ -26,7 +26,7 @@ class EWSType_UpdateDelegateResponseMessageType extends EWSType /** * Provides a text description of the status of the response. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var string */ @@ -35,7 +35,7 @@ class EWSType_UpdateDelegateResponseMessageType extends EWSType /** * Provides additional error response information. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var string * @@ -47,7 +47,7 @@ class EWSType_UpdateDelegateResponseMessageType extends EWSType * Provides an error code that identifies the specific error that the * request encountered. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var EWSType_ResponseCodeType */ diff --git a/EWSType/UpdateDelegateType.php b/EWSType/UpdateDelegateType.php old mode 100644 new mode 100755 index f3f7260e..1c11f7d9 --- a/EWSType/UpdateDelegateType.php +++ b/EWSType/UpdateDelegateType.php @@ -35,7 +35,7 @@ class EWSType_UpdateDelegateType extends EWSType /** * Identifies a mail-enabled Active Directory directory service object. * - * @since Exchange 2007 + * @since Exchange 2007 SP1 * * @var EWSType_EmailAddressType */ diff --git a/EWSType/UpdateInboxRulesRequestType.php b/EWSType/UpdateInboxRulesRequestType.php old mode 100644 new mode 100755 index 343b26ea..34a0697e --- a/EWSType/UpdateInboxRulesRequestType.php +++ b/EWSType/UpdateInboxRulesRequestType.php @@ -16,7 +16,7 @@ class EWSType_UpdateInboxRulesRequestType extends EWSType * Represents the SMTP address of the user whose Inbox rules are to be * created, modified, or deleted. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string */ @@ -25,7 +25,7 @@ class EWSType_UpdateInboxRulesRequestType extends EWSType /** * Contains an array of rule operations that can be performed on an Inbox. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ArrayOfRuleOperationsType */ @@ -34,7 +34,7 @@ class EWSType_UpdateInboxRulesRequestType extends EWSType /** * Indicates whether to remove the Microsoft Outlook rule blob. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var boolean */ diff --git a/EWSType/UpdateInboxRulesResponseType.php b/EWSType/UpdateInboxRulesResponseType.php old mode 100644 new mode 100755 index 2107db0a..ddce47b3 --- a/EWSType/UpdateInboxRulesResponseType.php +++ b/EWSType/UpdateInboxRulesResponseType.php @@ -17,7 +17,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType * * This element contains a value of 0. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var integer */ @@ -26,7 +26,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType /** * Provides a text description of the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string */ @@ -35,7 +35,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType /** * Provides additional error response information. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var string * @@ -46,7 +46,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType /** * Describes the status of the response. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseClassType */ @@ -56,7 +56,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType * Provides an error code that identifies the specific error that the * request encountered. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ResponseCodeType */ @@ -66,7 +66,7 @@ class EWSType_UpdateInboxRulesResponseType extends EWSType * Represents an array of rule validation errors on each rule field that has * an error. * - * @since Exchange 2010 + * @since Exchange 2010 SP1 * * @var EWSType_ArrayOfRuleOperationErrorsType */ diff --git a/ExchangeWebServices.php b/ExchangeWebServices.php old mode 100644 new mode 100755 index 03d4d482..26c14dc5 --- a/ExchangeWebServices.php +++ b/ExchangeWebServices.php @@ -138,7 +138,7 @@ public function getClient() } /** - * Sets the impersonation property + * Sets the impersonation property. * * @param EWSType_ExchangeImpersonationType $impersonation */ @@ -150,7 +150,7 @@ public function setImpersonation($impersonation) } /** - * Sets the password property + * Sets the password property. * * @param string $password */ @@ -162,7 +162,7 @@ public function setPassword($password) } /** - * Sets the server property + * Sets the server property. * * @param string $server */ @@ -174,7 +174,7 @@ public function setServer($server) } /** - * Sets the user name property + * Sets the user name property. * * @param string $username */ @@ -186,7 +186,7 @@ public function setUsername($username) } /** - * Sets the version property + * Sets the version property. * * @param string $version */ @@ -198,10 +198,13 @@ public function setVersion($version) } /** - * Function Description + * Adds one or more delegates to a principal's mailbox and sets specific + * access permissions. * - * @param AddDelegateType $request - * @return AddDelegateResponseMessageType + * @since Exchange 2007 SP1 + * + * @param EWSTYpe_AddDelegateType $request + * @return EWSType_AddDelegateResponseMessageType */ public function AddDelegate($request) { @@ -212,10 +215,33 @@ public function AddDelegate($request) } /** - * Function Description + * Sets a one-time or follow up action on all the items in a conversation. + * + * This operation allows you to categorize, move, copy, delete, and set the + * read state on all items in a conversation. Actions can also be set for + * new messages in a conversation. + * + * @since Exchange 2010 SP1 * - * @param ConvertIdType $request - * @return ConvertIdResponseType + * @param EWSType_ApplyConversationActionType $request + * @return EWSType_ApplyConversationActionResponseType + */ + public function ApplyConversationAction($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Converts item and folder identifiers between formats that are accepted by + * Microsoft Exchange Server. + * + * @since Exchange 2007 SP1 + * + * @param EWSType_ConvertIdType $request + * @return EWSType_ConvertIdResponseType */ public function ConvertId($request) { @@ -226,10 +252,12 @@ public function ConvertId($request) } /** - * Function Description + * Copies folders in a mailbox. * - * @param CopyFolderType $request - * @return CopyFolderResponseType + * @since Exchange 2007 + * + * @param EWSType_CopyFolderType $request + * @return EWSType_CopyFolderResponseType */ public function CopyFolder($request) { @@ -240,10 +268,12 @@ public function CopyFolder($request) } /** - * Function Description + * Copies items and puts the items in a different folder. + * + * @since Exchange 2007 * - * @param CopyItemType $request - * @return CopyItemResponseType + * @param EWSType_CopyItemType $request + * @return EWSType_CopyItemResponseType */ public function CopyItem($request) { @@ -254,10 +284,13 @@ public function CopyItem($request) } /** - * Function Description + * Creates either an item or file attachment and attaches it to the + * specified item. * - * @param CreateAttachmentType $request - * @return CreateAttachmentResponseType + * @since Exchange 2007 + * + * @param EWSType_CreateAttachmentType $request + * @return EWSType_CreateAttachmentResponseType */ public function CreateAttachment($request) { @@ -268,10 +301,13 @@ public function CreateAttachment($request) } /** - * Function Description + * Creates folders, calendar folders, contacts folders, tasks folders, and + * search folders. + * + * @since Exchange 2007 * - * @param CreateFolderType $request - * @return CreateFolderResponseType + * @param EWSType_CreateFolderType $request + * @return EWSType_CreateFolderResponseType */ public function CreateFolder($request) { @@ -282,10 +318,12 @@ public function CreateFolder($request) } /** - * Function Description + * Creates items in the Exchange store. + * + * @since Exchange 2007 * - * @param CreateItemType $request - * @return CreateItemResponseType + * @param EWSType_CreateItemType $request + * @return EWSType_CreateItemResponseType */ public function CreateItem($request) { @@ -296,10 +334,28 @@ public function CreateItem($request) } /** - * Function Description + * Creates a user configuration object on a folder. + * + * @since Exchange 2010 * - * @param CreateManagedFolderRequestType $request - * @return CreateManagedFolderResponseType + * @param EWSType_CreateUserConfigurationType $request + * @return EWSType_CreateUserConfigurationResponseType + */ + public function CreateUserConfiguration($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Creates a managed folder in the Exchange store. + * + * @since Exchange 2007 + * + * @param EWSType_CreateManagedFolderRequestType $request + * @return EWSType_CreateManagedFolderResponseType */ public function CreateManagedFolder($request) { @@ -310,10 +366,13 @@ public function CreateManagedFolder($request) } /** - * Function Description + * Deletes file and item attachments from an existing item in the Exchange + * store. + * + * @since Exchange 2007 * - * @param DeleteAttachmentType $request - * @return DeleteAttachmentResponseType + * @param EWSType_DeleteAttachmentType $request + * @return EWSType_DeleteAttachmentResponseType */ public function DeleteAttachment($request) { @@ -324,10 +383,12 @@ public function DeleteAttachment($request) } /** - * Function Description + * Deletes folders from a mailbox. + * + * @since Exchange 2007 * - * @param DeleteFolderType $request - * @return DeleteFolderResponseType + * @param EWSType_DeleteFolderType $request + * @return EWSType_DeleteFolderResponseType */ public function DeleteFolder($request) { @@ -338,10 +399,12 @@ public function DeleteFolder($request) } /** - * Function Description + * Deletes items in the Exchange store. * - * @param DeleteItemType $request - * @return DeleteItemResponseType + * @since Exchange 2007 + * + * @param EWSType_DeleteItemType $request + * @return EWSType_DeleteItemResponseType */ public function DeleteItem($request) { @@ -352,10 +415,64 @@ public function DeleteItem($request) } /** - * Function Description + * Deletes a user configuration object on a folder. + * + * @since Exchange 2010 + * + * @param EWSType_DeleteUserConfigurationType $request + * @return EWSType_DeleteUserConfigurationResponseType + */ + public function DeleteUserConfiguration($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Terminates the telephone call. + * + * @since Exchange 2010 + * + * @param EWSType_DisconnectPhoneCallType $request + * @return EWSType_DisconnectPhoneCallResponseMessageType + */ + public function DisconnectPhoneCall($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Empties folders in a mailbox. + * + * Optionally, this operation enables you to delete the subfolders of the + * specified folder. When a subfolder is deleted, the subfolder and the + * messages within the subfolder are deleted. + * + * @since Exchange 2010 * - * @param ExpandDLType $request - * @return ExpandDLResponseType + * @param EWSType_EmptyFolderType $request + * @return EWSType_EmptyFolderResponseType + */ + public function EmptyFolder($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Exposes the full membership of distribution lists. + * + * @since Exchange 2007 + * + * @param EWSType_ExpandDLType $request + * @return EWSType_ExpandDLResponseType */ public function ExpandDL($request) { @@ -366,10 +483,45 @@ public function ExpandDL($request) } /** - * Function Description + * Exports items out of a mailbox. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_ExportItemsType $request + * @return EWSType_ExportItemsResponseType + */ + public function ExportItems($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Enumerates a list of conversations in a folder. + * + * @since Exchange 2010 SP1 * - * @param EWS_FindFolderType $request - * @return EWS_FindFolderResponseType + * @param EWSType_FindConversationType $request + * @return EWSType_FindConversationResponseMessageType + */ + public function FindConversation($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Uses Exchange Web Services to find subfolders of an identified folder and + * returns a set of properties that describe the set of subfolders. + * + * @since Exchange 2007 + * + * @param EWSType_FindFolderType $request + * @return EWSType_FindFolderResponseType */ public function FindFolder($request) { @@ -380,10 +532,12 @@ public function FindFolder($request) } /** - * Function Description + * Identifies items that are located in a specified folder. * - * @param FindItemType $request - * @return FindItemResponseType + * @since Exchange 2007 + * + * @param EWSType_FindItemType $request + * @return EWSType_FindItemResponseType */ public function FindItem($request) { @@ -394,10 +548,28 @@ public function FindItem($request) } /** - * Function Description + * Finds messages that meet the specified criteria. + * + * @since Exchange 2010 * - * @param GetAttachmentType $request - * @return GetAttachmentResponseType + * @param EWSType_FindMessageTrackingReportRequestType $request + * @return EWSType_FindMessageTrackingReportResponseMessageType + */ + public function FindMessageTrackingReport($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Retrieves existing attachments on items in the Exchange store. + * + * @since Exchange 2007 + * + * @param EWSType_GetAttachmentType $request + * @return EWSType_GetAttachmentResponseType */ public function GetAttachment($request) { @@ -408,10 +580,12 @@ public function GetAttachment($request) } /** - * Function Description + * Retrieves the delegate settings for a specified mailbox. + * + * @since Exchange 2007 SP1 * - * @param GetDelegateType $request - * @return GetDelegateResponseMessageType + * @param EWSType_GetDelegateType $request + * @return EWSType_GetDelegateResponseMessageType */ public function GetDelegate($request) { @@ -422,10 +596,13 @@ public function GetDelegate($request) } /** - * Function Description + * Pulls subscription clients to request notifications from the Client + * Access server. * - * @param GetEventsType $request - * @return GetEventsResponseType + * @since Exchange 2007 + * + * @param EWSType_GetEventsType $request + * @return EWSType_GetEventsResponseType */ public function GetEvents($request) { @@ -436,10 +613,12 @@ public function GetEvents($request) } /** - * Function Description + * Gets folders from the Exchange store. + * + * @since Exchange 2007 * - * @param GetFolderType $request - * @return GetFolderResponseType + * @param EWSType_GetFolderType $request + * @return EWSType_GetFolderResponseType */ public function GetFolder($request) { @@ -450,10 +629,28 @@ public function GetFolder($request) } /** - * Function Description + * Retrieve Inbox rules in the identified user's mailbox. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_GetInboxRulesRequestType $request + * @return EWSType_GetInboxRulesResponseType + */ + public function GetInboxRules($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets items from the Exchange store. + * + * @since Exchange 2007 * - * @param GetItemType $request - * @return GetItemResponseType + * @param EWSType_GetItemType $request + * @return EWSType_GetItemResponseType */ public function GetItem($request) { @@ -463,13 +660,110 @@ public function GetItem($request) return $this->processResponse($response); } + /** + * Gets the mail tips information for the specified mailbox. + * + * @since Exchange 2010 + * + * @param EWSType_GetMailTipsType $request + * @return EWSType_GetMailTipsResponseMessageType + */ + public function GetMailTips($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets tracking information about the specified messages. + * + * @since Exchange 2010 + * + * @param EWSType_GetMessageTrackingReportRequestType $request + * @return EWSType_GetMessageTrackingReportResponseMessageType + */ + public function GetMessageTrackingReport($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + /** * Retrieve the timezones supported by the server. * + * @since Exchange 2010 SP1 + * + * @param EWSType_GetPasswordExpirationDateType $request + * @return EWSType_GetPasswordExpirationDateResponseMessageType + */ + public function GetPasswordExpirationDate($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Returns information about the specified telephone call. + * + * @since Exchange 2010 + * + * @param EWSType_GetPhoneCallInformationType $request + * @return EWSType_GetPhoneCallInformationResponseMessageType + */ + public function GetPhoneCallInformation($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets the room lists that are available within the Exchange organization. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_GetRoomListsType $request + * @return EWSType_GetRoomListsResponseMessageType + */ + public function GetRoomLists($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets the rooms within the specified room list. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_GetRoomsType $request + * @return EWSType_GetRoomsResponseMessageType + */ + public function GetRooms($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Returns information from time zone definitions that are available on an + * Exchange server. + * * @since Exchange 2010 * - * @param GetServerTimeZonesType $request - * @return GetServerTimeZonesResponseType + * @param EWSType_GetServerTimeZonesType $request + * @return EWSType_GetServerTimeZonesResponseType */ public function GetServerTimeZones($request) { @@ -480,10 +774,77 @@ public function GetServerTimeZones($request) } /** - * Function Description + * Gets configuration information for the specified type of service. + * + * @since Exchange 2010 + * + * @param EWSType_GetServiceConfigurationType $request + * @return EWSType_GetServiceConfigurationResponseMessageType + */ + public function GetServiceConfiguration($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets the local folder identifier of a specified shared folder. + * + * @since Exchange 2010 * - * @param GetUserAvailabilityRequestType $request - * @return GetUserAvailabilityResponseType + * @param EWSType_GetSharingFolderType $request + * @return EWSType_GetSharingFolderResponseMessageType + */ + public function GetSharingFolder($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets an opaque authentication token that identifies a sharing invitation. + * + * @since Exchange 2010 + * + * @param EWSType_GetSharingMetadataType $request + * @return EWSType_GetSharingMetadataResponseMessageType + */ + public function GetSharingMetadata($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Request subscription notifications from the Client Access server. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_GetStreamingEventsType $request + * @return EWSType_GetStreamingEventsResponseType + */ + public function GetStreamingEvents($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Provides detailed information about the availability of a set of users, + * rooms, and resources within a specified time period. + * + * @since Exchange 2007 + * + * @param EWSType_GetUserAvailabilityRequestType $request + * @return EWSType_GetUserAvailabilityResponseType */ public function GetUserAvailability($request) { @@ -494,10 +855,28 @@ public function GetUserAvailability($request) } /** - * Function Description + * Gets a user configuration object from a folder. + * + * @since Exchange 2010 + * + * @param EWSType_GetUserConfigurationType $request + * @return EWSType_GetUserConfigurationResponseType + */ + public function GetUserConfiguration($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Gets a mailbox user's Out of Office (OOF) settings and messages. + * + * @since Exchange 2007 * - * @param GetUserOofSettingsRequest $request - * @return GetUserOofSettingsResponse + * @param EWSType_GetUserOofSettingsRequest $request + * @return EWSType_GetUserOofSettingsResponse */ public function GetUserOofSettings($request) { @@ -508,10 +887,12 @@ public function GetUserOofSettings($request) } /** - * Function Description + * Moves folders from a specified folder and puts them in another folder. * - * @param MoveFolderType $request - * @return MoveFolderResponseType + * @since Exchange 2007 + * + * @param EWSType_MoveFolderType $request + * @return EWSType_MoveFolderResponseType */ public function MoveFolder($request) { @@ -522,10 +903,12 @@ public function MoveFolder($request) } /** - * Function Description + * Moves one or more items to a single destination folder. + * + * @since Exchange 2007 * - * @param MoveItemType $request - * @return MoveItemResponseType + * @param EWSType_MoveItemType $request + * @return EWSType_MoveItemResponseType */ public function MoveItem($request) { @@ -536,10 +919,45 @@ public function MoveItem($request) } /** - * Function Description + * Initiates an outbound call and plays a message over the telephone. * - * @param RemoveDelegateType $request - * @return RemoveDelegateResponseMessageType + * @since Exchange 2010 + * + * @param EWSType_PlayOnPhoneType $request + * @return EWSType_PlayOnPhoneResponseMessageType + */ + public function PlayOnPhone($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Refreshes the specified local folder with the latest data from the folder + * that is being shared. + * + * @since Exchange 2010 + * + * @param EWSType_RefreshSharingFolderType $request + * @return EWSType_RefreshSharingFolderResponseMessageType + */ + public function RefreshSharingFolder($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Removes one or more delegates from a user's mailbox. + * + * @since Exchange 2007 SP1 + * + * @param EWSType_RemoveDelegateType $request + * @return EWSType_RemoveDelegateResponseMessageType */ public function RemoveDelegate($request) { @@ -550,10 +968,12 @@ public function RemoveDelegate($request) } /** - * Function Description + * Resolves ambiguous email addresses and display names. * - * @param ResolveNamesType $request - * @return ResolveNamesResponseType + * @since Exchange 2007 + * + * @param EWSType_ResolveNamesType $request + * @return EWSType_ResolveNamesResponseType */ public function ResolveNames($request) { @@ -564,10 +984,12 @@ public function ResolveNames($request) } /** - * Function Description + * Sends e-mail messages that are located in the Exchange store. + * + * @since Exchange 2007 * - * @param SendItemType $request - * @return SendItemResponseType + * @param EWSType_SendItemType $request + * @return EWSType_SendItemResponseType */ public function SendItem($request) { @@ -578,10 +1000,12 @@ public function SendItem($request) } /** - * Function Description + * Sets a mailbox user's Out of Office (OOF) settings and message. + * + * @since Exchange 2007 * - * @param SetUserOofSettingsRequest $request - * @return SetUserOofSettingsResponse + * @param EWSType_SetUserOofSettingsRequest $request + * @return EWSType_SetUserOofSettingsResponse */ public function SetUserOofSettings($request) { @@ -592,10 +1016,12 @@ public function SetUserOofSettings($request) } /** - * Function Description + * Subscribes to either push or pull notifications. * - * @param SubscribeType $request - * @return SubscribeResponseType + * @since Exchange 2007 + * + * @param EWSType_SubscribeType $request + * @return EWSType_SubscribeResponseType */ public function Subscribe($request) { @@ -606,10 +1032,13 @@ public function Subscribe($request) } /** - * Function Description + * Synchronizes folders between the computer that is running Microsoft + * Exchange Server and the client. + * + * @since Exchange 2007 * - * @param SyncFolderHierarchyType $request - * @return SyncFolderHierarchyResponseType + * @param EWSType_SyncFolderHierarchyType $request + * @return EWSType_SyncFolderHierarchyResponseType */ public function SyncFolderHierarchy($request) { @@ -620,10 +1049,12 @@ public function SyncFolderHierarchy($request) } /** - * Function Description + * Synchronizes items between the Exchange server and the client. * - * @param SyncFolderItemsType $request - * @return SyncFolderItemsResponseType + * @since Exchange 2007 + * + * @param EWSType_SyncFolderItemsType $request + * @return EWSType_SyncFolderItemsResponseType */ public function SyncFolderItems($request) { @@ -634,10 +1065,16 @@ public function SyncFolderItems($request) } /** - * Function Description + * Ends a pull notification subscription. + * + * Use this operation rather than letting a subscription timeout. + * + * This operation is only valid for pull notifications. * - * @param UnsubscribeType $request - * @return UnsubscribeResponseType + * @since Exchange 2007 + * + * @param EWSType_UnsubscribeType $request + * @return EWSType_UnsubscribeResponseType */ public function Unsubscribe($request) { @@ -648,10 +1085,12 @@ public function Unsubscribe($request) } /** - * Function Description + * Updates delegate permissions on a principal's mailbox. + * + * @since Exchange 2007 SP1 * - * @param UpdateDelegateType $request - * @return UpdateDelegateResponseMessageType + * @param EWSType_UpdateDelegateType $request + * @return EWSType_UpdateDelegateResponseMessageType */ public function UpdateDelegate($request) { @@ -662,10 +1101,12 @@ public function UpdateDelegate($request) } /** - * Function Description + * Modifies properties of an existing item in the Exchange store. + * + * @since Exchange 2007 * - * @param UpdateFolderType $request - * @return UpdateFolderResponseType + * @param EWSType_UpdateFolderType $request + * @return EWSType_UpdateFolderResponseType */ public function UpdateFolder($request) { @@ -676,10 +1117,29 @@ public function UpdateFolder($request) } /** - * Function Description + * Updates the authenticated user's Inbox rules by applying the specified + * operations. * - * @param UpdateItemType $request - * @return UpdateItemResponseType + * @since Exchange 2010 SP1 + * + * @param EWSType_UpdateInboxRulesRequestType $request + * @return EWSType_UpdateInboxRulesResponseType + */ + public function UpdateInboxRules($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Modifies the properties of an existing item in the Exchange store. + * + * @since Exchange 2007 + * + * @param EWSType_UpdateItemType $request + * @return EWSType_UpdateItemResponseType */ public function UpdateItem($request) { @@ -689,6 +1149,38 @@ public function UpdateItem($request) return $this->processResponse($response); } + /** + * Updates a user configuration object on a folder. + * + * @since Exchange 2010 + * + * @param EWSType_UpdateUserConfigurationType $request + * @return EWSType_UpdateUserConfigurationResponseType + */ + public function UpdateUserConfiguration($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + + /** + * Uploads a stream of items into an Exchange mailbox. + * + * @since Exchange 2010 SP1 + * + * @param EWSType_UploadItemsType $request + * @return EWSType_UploadItemsResponseType + */ + public function UploadItems($request) + { + $this->initializeSoapClient(); + $response = $this->soap->{__FUNCTION__}($request); + + return $this->processResponse($response); + } + /** * Initializes the SoapClient object to make a request *