From b409fbb72591b43df7431e83e30d6c00ea633f21 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 5 Apr 2018 15:08:52 +0200 Subject: [locationinfo] Add exchange backend Closes #3170 --- .../locationinfo/exchange-includes/README | 4 + .../jamesiarmes/PhpEws/ArrayType.php | 16 + .../PhpEws/ArrayType/ArrayOfAppManifestsType.php | 28 + .../PhpEws/ArrayType/ArrayOfAppsType.php | 27 + .../ArrayOfArraysOfTrackingPropertiesType.php | 26 + .../PhpEws/ArrayType/ArrayOfAttachmentsType.php | 37 + .../ArrayType/ArrayOfAttendeeConflictData.php | 59 + .../PhpEws/ArrayType/ArrayOfBaseItemIdsType.php | 28 + .../PhpEws/ArrayType/ArrayOfBinaryType.php | 27 + .../ArrayOfBodyContentAttributedValuesType.php | 25 + .../PhpEws/ArrayType/ArrayOfCalendarEvent.php | 26 + .../ArrayType/ArrayOfCalendarPermissionsType.php | 25 + .../PhpEws/ArrayType/ArrayOfContextProperty.php | 25 + .../ArrayType/ArrayOfConversationNodesType.php | 25 + .../PhpEws/ArrayType/ArrayOfConversationsType.php | 25 + .../PhpEws/ArrayType/ArrayOfDLExpansionType.php | 76 + .../ArrayOfDelegateUserResponseMessageType.php | 26 + .../PhpEws/ArrayType/ArrayOfDelegateUserType.php | 25 + .../ArrayOfDiscoverySearchConfigurationType.php | 25 + .../ArrayOfEmailAddressAttributedValuesType.php | 27 + .../PhpEws/ArrayType/ArrayOfEmailAddressesType.php | 25 + .../ArrayOfEncryptedSharedFolderDataType.php | 27 + .../ArrayType/ArrayOfExtendedAttributesType.php | 25 + .../ArrayOfExtendedPropertyAttributedValueType.php | 25 + .../ArrayType/ArrayOfFailedSearchMailboxesType.php | 25 + .../ArrayOfFindMessageTrackingSearchResultType.php | 26 + .../PhpEws/ArrayType/ArrayOfFolderIdType.php | 25 + .../PhpEws/ArrayType/ArrayOfFoldersType.php | 61 + .../PhpEws/ArrayType/ArrayOfFreeBusyResponse.php | 27 + .../PhpEws/ArrayType/ArrayOfGroupedItemsType.php | 27 + .../PhpEws/ArrayType/ArrayOfImGroupType.php | 25 + .../ArrayType/ArrayOfInvalidRecipientsType.php | 26 + .../PhpEws/ArrayType/ArrayOfItemClassType.php | 27 + .../ArrayOfKeywordStatisticsSearchResultsType.php | 25 + .../ArrayOfMailTipsResponseMessageType.php | 25 + .../PhpEws/ArrayType/ArrayOfMailboxData.php | 26 + .../ArrayType/ArrayOfMailboxHoldStatusType.php | 25 + .../ArrayOfNonIndexableItemDetailsType.php | 25 + .../ArrayOfNonIndexableItemStatisticsType.php | 25 + .../ArrayType/ArrayOfOccurrenceRangesType.php | 26 + .../PhpEws/ArrayType/ArrayOfPeopleQuerySource.php | 25 + .../PhpEws/ArrayType/ArrayOfPeopleType.php | 25 + .../PhpEws/ArrayType/ArrayOfPermissionsType.php | 25 + .../ArrayType/ArrayOfPersonaAttributionsType.php | 26 + .../ArrayOfPhoneNumberAttributedValuesType.php | 27 + .../ArrayOfPostalAddressAttributedValuesType.php | 27 + .../ArrayType/ArrayOfPrivateCatalogAddInsType.php | 29 + .../ArrayType/ArrayOfProtectionRulesType.php | 29 + .../PhpEws/ArrayType/ArrayOfRealItemsType.php | 115 + .../ArrayOfRecipientTrackingEventType.php | 25 + .../PhpEws/ArrayType/ArrayOfRecipientsType.php | 25 + .../PhpEws/ArrayType/ArrayOfRemindersType.php | 25 + .../PhpEws/ArrayType/ArrayOfResolutionType.php | 76 + .../ArrayType/ArrayOfResponseMessagesType.php | 504 + .../ArrayType/ArrayOfRetentionPolicyTagsType.php | 25 + .../PhpEws/ArrayType/ArrayOfRoomsType.php | 26 + .../ArrayType/ArrayOfRuleOperationErrorsType.php | 26 + .../PhpEws/ArrayType/ArrayOfRuleOperationsType.php | 43 + .../ArrayType/ArrayOfRuleValidationErrorsType.php | 27 + .../PhpEws/ArrayType/ArrayOfRulesType.php | 25 + .../ArrayType/ArrayOfSearchItemKindsType.php | 27 + .../ArrayType/ArrayOfSearchPreviewItemsType.php | 25 + .../ArrayType/ArrayOfSearchableMailboxesType.php | 25 + ...ayOfServiceConfigurationResponseMessageType.php | 27 + .../ArrayType/ArrayOfServiceConfigurationType.php | 27 + .../PhpEws/ArrayType/ArrayOfSmtpAddressType.php | 26 + .../ArrayOfStringArrayAttributedValuesType.php | 26 + .../ArrayOfStringAttributedValuesType.php | 27 + .../PhpEws/ArrayType/ArrayOfStringsType.php | 37 + .../PhpEws/ArrayType/ArrayOfSuggestion.php | 25 + .../ArrayType/ArrayOfSuggestionDayResult.php | 25 + .../ArrayType/ArrayOfTimeZoneDefinitionType.php | 25 + .../ArrayType/ArrayOfTrackingPropertiesType.php | 26 + .../ArrayType/ArrayOfTransitionsGroupsType.php | 25 + .../PhpEws/ArrayType/ArrayOfTransitionsType.php | 53 + .../PhpEws/ArrayType/ArrayOfUnknownEntriesType.php | 27 + .../PhpEws/ArrayType/ArrayOfUserIdType.php | 26 + .../PhpEws/ArrayType/ArrayOfUserMailboxesType.php | 25 + .../ArrayType/ArrayOfValueAttributionsType.php | 25 + .../PhpEws/ArrayType/ArrayOfWorkingPeriod.php | 25 + .../ArrayType/NonEmptyArrayOfAllItemsType.php | 217 + .../ArrayType/NonEmptyArrayOfAlternateIdsType.php | 43 + .../NonEmptyArrayOfApplyConversationActionType.php | 25 + .../ArrayType/NonEmptyArrayOfAttachmentsType.php | 17 + .../ArrayType/NonEmptyArrayOfAttendeesType.php | 25 + .../ArrayType/NonEmptyArrayOfBaseFolderIdsType.php | 36 + .../ArrayType/NonEmptyArrayOfBaseItemIdsType.php | 56 + ...onEmptyArrayOfClientAccessTokenRequestsType.php | 25 + .../NonEmptyArrayOfDeletedOccurrencesType.php | 25 + .../ArrayType/NonEmptyArrayOfExtendedFieldURIs.php | 25 + .../NonEmptyArrayOfExtendedPropertyType.php | 25 + .../ArrayType/NonEmptyArrayOfFieldOrdersType.php | 30 + ...NonEmptyArrayOfFolderChangeDescriptionsType.php | 49 + .../ArrayType/NonEmptyArrayOfFolderChangesType.php | 25 + .../ArrayType/NonEmptyArrayOfFolderNamesType.php | 25 + .../ArrayType/NonEmptyArrayOfFoldersType.php | 61 + .../NonEmptyArrayOfGroupIdentifiersType.php | 27 + .../NonEmptyArrayOfInternetHeadersType.php | 27 + .../NonEmptyArrayOfItemChangeDescriptionsType.php | 47 + .../ArrayType/NonEmptyArrayOfItemChangesType.php | 26 + .../ArrayType/NonEmptyArrayOfItemIdsType.php | 26 + .../NonEmptyArrayOfMailboxQueriesType.php | 25 + .../NonEmptyArrayOfMailboxSearchScopesType.php | 26 + .../NonEmptyArrayOfNotificationEventTypesType.php | 29 + .../ArrayType/NonEmptyArrayOfNotificationsType.php | 27 + .../NonEmptyArrayOfOccurrenceInfoType.php | 26 + .../NonEmptyArrayOfPathsToElementType.php | 44 + .../ArrayType/NonEmptyArrayOfPeriodsType.php | 27 + .../NonEmptyArrayOfPropertyValuesType.php | 25 + .../NonEmptyArrayOfReminderItemActionType.php | 25 + .../NonEmptyArrayOfRequestAttachmentIdsType.php | 25 + .../NonEmptyArrayOfResponseObjectsType.php | 128 + ...nEmptyArrayOfRestrictedGroupIdentifiersType.php | 26 + .../NonEmptyArrayOfSubscriptionIdsType.php | 25 + .../ArrayType/NonEmptyArrayOfTimeZoneIdType.php | 25 + .../ArrayType/NonEmptyArrayOfUploadItemsType.php | 25 + .../ArrayType/NonEmptyArrayofLegacyDNsType.php | 25 + .../jamesiarmes/PhpEws/Autodiscover.php | 896 ++ .../jamesiarmes/PhpEws/ClassMap.php | 684 ++ .../jamesiarmes/PhpEws/Client.php | 1702 ++++ .../jamesiarmes/PhpEws/Enumeration.php | 36 + .../PhpEws/Enumeration/AddInStateType.php | 84 + .../Enumeration/AffectedTaskOccurrencesType.php | 36 + .../PhpEws/Enumeration/AggregateType.php | 35 + .../PhpEws/Enumeration/AppointmentState.php | 63 + .../Enumeration/AvailabilityProxyRequestType.php | 34 + .../PhpEws/Enumeration/BodyTypeResponseType.php | 50 + .../PhpEws/Enumeration/BodyTypeType.php | 34 + .../CalendarItemCreateOrDeleteOperationType.php | 46 + .../PhpEws/Enumeration/CalendarItemTypeType.php | 52 + .../CalendarItemUpdateOperationType.php | 67 + .../Enumeration/CalendarPermissionLevelType.php | 33 + .../CalendarPermissionReadAccessType.php | 35 + .../Enumeration/ClientAccessTokenTypeType.php | 76 + .../PhpEws/Enumeration/ConferenceType.php | 43 + .../PhpEws/Enumeration/ConflictResolutionType.php | 44 + .../Enumeration/ConnectionFailureCauseType.php | 61 + .../PhpEws/Enumeration/ConnectionStatusType.php | 34 + .../PhpEws/Enumeration/ContactSourceType.php | 35 + .../Enumeration/ContainmentComparisonType.php | 92 + .../PhpEws/Enumeration/ContainmentModeType.php | 64 + .../Enumeration/ConversationActionTypeType.php | 96 + .../Enumeration/ConversationNodeSortOrder.php | 52 + .../Enumeration/ConversationQueryTraversalType.php | 35 + .../PhpEws/Enumeration/CreateActionType.php | 53 + .../PhpEws/Enumeration/DateTimePrecisionType.php | 34 + .../PhpEws/Enumeration/DayOfWeekIndexType.php | 61 + .../PhpEws/Enumeration/DayOfWeekType.php | 106 + .../PhpEws/Enumeration/DaysOfWeekType.php | 21 + .../PhpEws/Enumeration/DefaultShapeNamesType.php | 45 + .../DelegateFolderPermissionLevelType.php | 61 + .../Enumeration/DeliverMeetingRequestsType.php | 57 + .../PhpEws/Enumeration/DictionaryURIType.php | 106 + .../PhpEws/Enumeration/DisableReasonType.php | 52 + .../PhpEws/Enumeration/DisposalType.php | 44 + .../Enumeration/DistinguishedFolderIdNameType.php | 394 + .../Enumeration/DistinguishedPropertySetType.php | 106 + .../PhpEws/Enumeration/DistinguishedUserType.php | 36 + .../PhpEws/Enumeration/ElcFolderType.php | 187 + .../PhpEws/Enumeration/EmailAddressKeyType.php | 43 + .../Enumeration/ExceptionPropertyURIType.php | 97 + .../PhpEws/Enumeration/ExchangeVersionType.php | 98 + .../PhpEws/Enumeration/ExternalAudience.php | 47 + .../PhpEws/Enumeration/FileAsMappingType.php | 178 + .../PhpEws/Enumeration/FlagStatusType.php | 43 + .../PhpEws/Enumeration/FlaggedForActionType.php | 116 + .../Enumeration/FolderQueryTraversalType.php | 46 + .../PhpEws/Enumeration/FreeBusyViewType.php | 98 + .../PhpEws/Enumeration/HoldActionType.php | 43 + .../PhpEws/Enumeration/HoldStatusType.php | 61 + .../PhpEws/Enumeration/IdFormatType.php | 76 + .../PhpEws/Enumeration/ImAddressKeyType.php | 43 + .../PhpEws/Enumeration/ImportanceChoicesType.php | 44 + .../PhpEws/Enumeration/IndexBasePointType.php | 36 + .../InvalidRecipientResponseCodeType.php | 65 + .../PhpEws/Enumeration/ItemClassType.php | 291 + .../PhpEws/Enumeration/ItemQueryTraversalType.php | 47 + .../PhpEws/Enumeration/LegacyFreeBusyType.php | 71 + .../PhpEws/Enumeration/LocationSourceType.php | 71 + .../PhpEws/Enumeration/MailTipTypes.php | 107 + .../Enumeration/MailboxSearchLocationType.php | 45 + .../PhpEws/Enumeration/MailboxTypeType.php | 79 + .../PhpEws/Enumeration/MapiPropertyTypeType.php | 273 + .../PhpEws/Enumeration/MeetingAttendeeType.php | 61 + .../PhpEws/Enumeration/MeetingRequestTypeType.php | 84 + .../PhpEws/Enumeration/MemberStatusType.php | 44 + .../PhpEws/Enumeration/MessageDispositionType.php | 66 + .../MessageTrackingDeliveryStatusType.php | 63 + .../MessageTrackingEventDescriptionType.php | 254 + .../MessageTrackingReportTemplateType.php | 36 + .../PhpEws/Enumeration/MonthNamesType.php | 124 + .../Enumeration/NotificationEventTypeType.php | 79 + .../jamesiarmes/PhpEws/Enumeration/Occurrence.php | 96 + .../jamesiarmes/PhpEws/Enumeration/OofState.php | 44 + .../PhpEws/Enumeration/PermissionActionType.php | 47 + .../PhpEws/Enumeration/PermissionLevelType.php | 116 + .../Enumeration/PermissionReadAccessType.php | 35 + .../PhpEws/Enumeration/PhoneCallStateType.php | 88 + .../PhpEws/Enumeration/PhoneNumberKeyType.php | 187 + .../Enumeration/PhysicalAddressIndexType.php | 52 + .../PhpEws/Enumeration/PhysicalAddressKeyType.php | 43 + .../Enumeration/PreviewItemBaseShapeType.php | 34 + .../PhpEws/Enumeration/ReminderActionType.php | 34 + .../PhpEws/Enumeration/ReminderGroup.php | 34 + .../Enumeration/ResolveNamesSearchScopeType.php | 55 + .../PhpEws/Enumeration/ResponseClassType.php | 63 + .../PhpEws/Enumeration/ResponseCodeType.php | 4866 ++++++++++ .../PhpEws/Enumeration/ResponseTypeType.php | 70 + .../PhpEws/Enumeration/RetentionActionType.php | 79 + .../jamesiarmes/PhpEws/Enumeration/RoutingType.php | 25 + .../PhpEws/Enumeration/RuleFieldURIType.php | 826 ++ .../Enumeration/RuleValidationErrorCodeType.php | 233 + .../jamesiarmes/PhpEws/Enumeration/Scope.php | 43 + .../Enumeration/SearchFolderTraversalType.php | 35 + .../PhpEws/Enumeration/SearchItemKindType.php | 124 + .../PhpEws/Enumeration/SearchPageDirectionType.php | 34 + .../PhpEws/Enumeration/SearchResultType.php | 34 + .../PhpEws/Enumeration/SensitivityChoicesType.php | 52 + .../Enumeration/ServiceConfigurationType.php | 43 + .../PhpEws/Enumeration/SharingDataType.php | 34 + .../PhpEws/Enumeration/SortDirectionType.php | 34 + .../PhpEws/Enumeration/StandardGroupByType.php | 27 + .../PhpEws/Enumeration/SubscriptionStatusType.php | 35 + .../PhpEws/Enumeration/SuggestionQuality.php | 53 + .../Enumeration/SyncFolderItemsScopeType.php | 37 + .../PhpEws/Enumeration/TaskDelegateStateType.php | 76 + .../PhpEws/Enumeration/TaskStatusType.php | 61 + .../Enumeration/TransitionTargetKindType.php | 35 + .../PhpEws/Enumeration/UnindexedFieldURIType.php | 2941 ++++++ .../UserConfigurationDictionaryObjectTypesType.php | 106 + .../Enumeration/UserConfigurationPropertyType.php | 62 + .../PhpEws/Enumeration/UserPhotoSizeType.php | 115 + .../PhpEws/Enumeration/UserPhotoTypeType.php | 34 + .../PhpEws/Enumeration/ViewFilterType.php | 106 + .../jamesiarmes/PhpEws/Request.php | 16 + .../jamesiarmes/PhpEws/Request/AddDelegateType.php | 35 + .../Request/AddDistributionGroupToImListType.php | 35 + .../PhpEws/Request/AddImContactToGroup.php | 33 + .../jamesiarmes/PhpEws/Request/AddImGroupType.php | 23 + .../PhpEws/Request/AddNewImContactToGroup.php | 44 + .../Request/AddNewTelUriContactToGroupType.php | 53 + .../PhpEws/Request/ApplyConversationActionType.php | 23 + .../jamesiarmes/PhpEws/Request/ArchiveItemType.php | 33 + .../PhpEws/Request/BaseDelegateType.php | 23 + .../PhpEws/Request/BaseMoveCopyFolderType.php | 32 + .../PhpEws/Request/BaseMoveCopyItemType.php | 43 + .../jamesiarmes/PhpEws/Request/BaseRequestType.php | 18 + .../jamesiarmes/PhpEws/Request/ConvertIdType.php | 40 + .../jamesiarmes/PhpEws/Request/CopyFolderType.php | 16 + .../jamesiarmes/PhpEws/Request/CopyItemType.php | 16 + .../PhpEws/Request/CreateAttachmentType.php | 52 + .../PhpEws/Request/CreateFolderPathType.php | 33 + .../PhpEws/Request/CreateFolderType.php | 32 + .../jamesiarmes/PhpEws/Request/CreateItemType.php | 65 + .../Request/CreateManagedFolderRequestType.php | 32 + .../PhpEws/Request/CreateUserConfigurationType.php | 23 + .../PhpEws/Request/DeleteAttachmentType.php | 24 + .../PhpEws/Request/DeleteFolderType.php | 35 + .../jamesiarmes/PhpEws/Request/DeleteItemType.php | 84 + .../PhpEws/Request/DeleteUserConfigurationType.php | 23 + .../jamesiarmes/PhpEws/Request/DisableAppType.php | 34 + .../PhpEws/Request/DisconnectPhoneCallType.php | 25 + .../jamesiarmes/PhpEws/Request/EmptyFolderType.php | 49 + .../jamesiarmes/PhpEws/Request/ExpandDLType.php | 25 + .../jamesiarmes/PhpEws/Request/ExportItemsType.php | 24 + .../PhpEws/Request/FindConversationType.php | 113 + .../jamesiarmes/PhpEws/Request/FindFolderType.php | 81 + .../jamesiarmes/PhpEws/Request/FindItemType.php | 149 + .../FindMailboxStatisticsByKeywordsType.php | 118 + .../FindMessageTrackingReportRequestType.php | 141 + .../jamesiarmes/PhpEws/Request/FindPeopleType.php | 113 + .../PhpEws/Request/GetAppManifestsType.php | 100 + .../PhpEws/Request/GetAppMarketplaceUrl.php | 16 + .../PhpEws/Request/GetAttachmentType.php | 35 + .../PhpEws/Request/GetClientAccessTokenType.php | 23 + .../PhpEws/Request/GetConversationItemsType.php | 79 + .../jamesiarmes/PhpEws/Request/GetDelegateType.php | 33 + .../GetDiscoverySearchConfigurationType.php | 42 + .../jamesiarmes/PhpEws/Request/GetEventsType.php | 39 + .../jamesiarmes/PhpEws/Request/GetFolderType.php | 34 + .../PhpEws/Request/GetHoldOnMailboxesType.php | 23 + .../PhpEws/Request/GetImItemListType.php | 23 + .../jamesiarmes/PhpEws/Request/GetImItemsType.php | 43 + .../PhpEws/Request/GetInboxRulesRequestType.php | 24 + .../jamesiarmes/PhpEws/Request/GetItemType.php | 37 + .../jamesiarmes/PhpEws/Request/GetMailTipsType.php | 43 + .../GetMessageTrackingReportRequestType.php | 96 + .../Request/GetNonIndexableItemDetailsType.php | 62 + .../Request/GetNonIndexableItemStatisticsType.php | 32 + .../Request/GetPasswordExpirationDateType.php | 24 + .../jamesiarmes/PhpEws/Request/GetPersonaType.php | 67 + .../PhpEws/Request/GetPhoneCallInformationType.php | 23 + .../PhpEws/Request/GetRemindersType.php | 58 + .../PhpEws/Request/GetRoomListsType.php | 17 + .../jamesiarmes/PhpEws/Request/GetRoomsType.php | 23 + .../PhpEws/Request/GetSearchableMailboxesType.php | 33 + .../PhpEws/Request/GetServerTimeZonesType.php | 43 + .../PhpEws/Request/GetServiceConfigurationType.php | 44 + .../PhpEws/Request/GetSharingFolderType.php | 52 + .../PhpEws/Request/GetSharingMetadataType.php | 52 + .../PhpEws/Request/GetStreamingEventsType.php | 35 + .../Request/GetUserAvailabilityRequestType.php | 53 + .../PhpEws/Request/GetUserConfigurationType.php | 38 + .../PhpEws/Request/GetUserOofSettingsRequest.php | 24 + .../PhpEws/Request/GetUserPhotoType.php | 45 + .../Request/GetUserRetentionPolicyTagsType.php | 16 + .../jamesiarmes/PhpEws/Request/InstallAppType.php | 67 + .../PhpEws/Request/MarkAllItemsAsRead.php | 42 + .../jamesiarmes/PhpEws/Request/MarkAsJunkType.php | 45 + .../jamesiarmes/PhpEws/Request/MoveFolderType.php | 16 + .../jamesiarmes/PhpEws/Request/MoveItemType.php | 16 + .../PhpEws/Request/PerformReminderActionType.php | 23 + .../jamesiarmes/PhpEws/Request/PlayOnPhoneType.php | 37 + .../PhpEws/Request/RefreshSharingFolderType.php | 23 + .../PhpEws/Request/RemoveContactFromImListType.php | 24 + .../PhpEws/Request/RemoveDelegateType.php | 23 + .../RemoveDistributionGroupFromImListType.php | 24 + .../Request/RemoveImContactFromGroupType.php | 33 + .../PhpEws/Request/RemoveImGroupType.php | 23 + .../PhpEws/Request/ResolveNamesType.php | 82 + .../PhpEws/Request/SearchMailboxesType.php | 104 + .../jamesiarmes/PhpEws/Request/SendItemType.php | 52 + .../PhpEws/Request/SetHoldOnMailboxesType.php | 98 + .../jamesiarmes/PhpEws/Request/SetImGroupType.php | 32 + .../PhpEws/Request/SetUserOofSettingsRequest.php | 34 + .../jamesiarmes/PhpEws/Request/SubscribeType.php | 41 + .../PhpEws/Request/SyncFolderHierarchyType.php | 47 + .../PhpEws/Request/SyncFolderItemsType.php | 88 + .../PhpEws/Request/UninstallAppType.php | 23 + .../jamesiarmes/PhpEws/Request/UnsubscribeType.php | 23 + .../PhpEws/Request/UpdateDelegateType.php | 36 + .../PhpEws/Request/UpdateFolderType.php | 24 + .../PhpEws/Request/UpdateInboxRulesRequestType.php | 42 + .../jamesiarmes/PhpEws/Request/UpdateItemType.php | 93 + .../PhpEws/Request/UpdateUserConfigurationType.php | 23 + .../jamesiarmes/PhpEws/Request/UploadItemsType.php | 23 + .../jamesiarmes/PhpEws/Response.php | 16 + .../Response/AddDelegateResponseMessageType.php | 16 + ...istributionGroupToImListResponseMessageType.php | 23 + .../AddImContactToGroupResponseMessageType.php | 16 + .../Response/AddImGroupResponseMessageType.php | 23 + .../AddNewImContactToGroupResponseMessageType.php | 23 + .../AddNewTelUriContactToGroupResponse.php | 24 + .../ApplyConversationActionResponseMessageType.php | 19 + .../ApplyConversationActionResponseType.php | 16 + .../PhpEws/Response/ArchiveItemResponse.php | 16 + .../Response/AttachmentInfoResponseMessageType.php | 25 + .../Response/BaseDelegateResponseMessageType.php | 24 + .../PhpEws/Response/BaseResponseMessageType.php | 25 + .../Response/ConvertIdResponseMessageType.php | 23 + .../PhpEws/Response/ConvertIdResponseType.php | 16 + .../PhpEws/Response/CopyFolderResponseType.php | 16 + .../PhpEws/Response/CopyItemResponseType.php | 16 + .../Response/CreateAttachmentResponseType.php | 16 + .../Response/CreateFolderPathResponseType.php | 16 + .../PhpEws/Response/CreateFolderResponseType.php | 16 + .../PhpEws/Response/CreateItemResponseType.php | 16 + .../Response/CreateManagedFolderResponseType.php | 16 + .../CreateUserConfigurationResponseType.php | 16 + .../Response/DelegateUserResponseMessageType.php | 24 + .../DeleteAttachmentResponseMessageType.php | 24 + .../Response/DeleteAttachmentResponseType.php | 16 + .../PhpEws/Response/DeleteFolderResponseType.php | 16 + .../PhpEws/Response/DeleteItemResponseType.php | 16 + .../DeleteUserConfigurationResponseType.php | 16 + .../PhpEws/Response/DisableAppResponseType.php | 16 + .../DisconnectPhoneCallResponseMessageType.php | 16 + .../PhpEws/Response/EmptyFolderResponseType.php | 16 + .../Response/ExpandDLResponseMessageType.php | 76 + .../PhpEws/Response/ExpandDLResponseType.php | 16 + .../Response/ExportItemsResponseMessageType.php | 35 + .../PhpEws/Response/ExportItemsResponseType.php | 16 + .../FindConversationResponseMessageType.php | 23 + .../Response/FindFolderResponseMessageType.php | 24 + .../PhpEws/Response/FindFolderResponseType.php | 16 + .../Response/FindItemResponseMessageType.php | 24 + .../PhpEws/Response/FindItemResponseType.php | 16 + ...lboxStatisticsByKeywordsResponseMessageType.php | 25 + ...FindMailboxStatisticsByKeywordsResponseType.php | 16 + ...indMessageTrackingReportResponseMessageType.php | 62 + .../Response/FindPeopleResponseMessageType.php | 60 + .../Response/FolderInfoResponseMessageType.php | 23 + .../Response/GetAppManifestsResponseType.php | 34 + .../GetAppMarketplaceUrlResponseMessageType.php | 34 + .../PhpEws/Response/GetAttachmentResponseType.php | 16 + .../GetClientAccessTokenResponseMessageType.php | 23 + .../Response/GetClientAccessTokenResponseType.php | 16 + .../GetConversationItemsResponseMessageType.php | 23 + .../Response/GetConversationItemsResponseType.php | 16 + .../Response/GetDelegateResponseMessageType.php | 26 + ...overySearchConfigurationResponseMessageType.php | 23 + .../Response/GetEventsResponseMessageType.php | 24 + .../PhpEws/Response/GetEventsResponseType.php | 16 + .../PhpEws/Response/GetFolderResponseType.php | 16 + .../GetHoldOnMailboxesResponseMessageType.php | 23 + .../Response/GetImItemListResponseMessageType.php | 24 + .../PhpEws/Response/GetImItemsResponse.php | 24 + .../PhpEws/Response/GetInboxRulesResponseType.php | 33 + .../PhpEws/Response/GetItemResponseType.php | 16 + .../Response/GetMailTipsResponseMessageType.php | 23 + ...GetMessageTrackingReportResponseMessageType.php | 53 + ...tNonIndexableItemDetailsResponseMessageType.php | 23 + ...nIndexableItemStatisticsResponseMessageType.php | 23 + ...etPasswordExpirationDateResponseMessageType.php | 27 + .../Response/GetPersonaResponseMessageType.php | 23 + .../GetPhoneCallInformationResponseMessageType.php | 23 + .../Response/GetRemindersResponseMessageType.php | 23 + .../Response/GetRoomListsResponseMessageType.php | 24 + .../Response/GetRoomsResponseMessageType.php | 24 + .../GetSearchableMailboxesResponseMessageType.php | 32 + .../GetServerTimeZonesResponseMessageType.php | 24 + .../Response/GetServerTimeZonesResponseType.php | 16 + .../GetServiceConfigurationResponseMessageType.php | 23 + .../GetSharingFolderResponseMessageType.php | 24 + .../GetSharingMetadataResponseMessageType.php | 33 + .../GetStreamingEventsResponseMessageType.php | 45 + .../Response/GetStreamingEventsResponseType.php | 16 + .../Response/GetUserAvailabilityResponseType.php | 37 + .../GetUserConfigurationResponseMessageType.php | 23 + .../Response/GetUserConfigurationResponseType.php | 16 + .../PhpEws/Response/GetUserOofSettingsResponse.php | 46 + .../Response/GetUserPhotoResponseMessageType.php | 34 + .../PhpEws/Response/GetUserPhotoResponseType.php | 16 + ...tUserRetentionPolicyTagsResponseMessageType.php | 23 + .../PhpEws/Response/InstallAppResponseType.php | 34 + .../Response/ItemInfoResponseMessageType.php | 23 + .../Response/MailTipsResponseMessageType.php | 23 + .../Response/MarkAllItemsAsReadResponseType.php | 16 + .../Response/MarkAsJunkResponseMessageType.php | 23 + .../PhpEws/Response/MarkAsJunkResponseType.php | 16 + .../PhpEws/Response/MoveFolderResponseType.php | 16 + .../PhpEws/Response/MoveItemResponseType.php | 16 + .../PerformReminderActionResponseMessageType.php | 23 + .../Response/PlayOnPhoneResponseMessageType.php | 23 + .../RefreshSharingFolderResponseMessageType.php | 17 + .../RemoveContactFromImListResponseMessageType.php | 16 + .../Response/RemoveDelegateResponseMessageType.php | 16 + ...tributionGroupFromImListResponseMessageType.php | 16 + ...RemoveImContactFromGroupResponseMessageType.php | 16 + .../Response/RemoveImGroupResponseMessageType.php | 16 + .../Response/ResolveNamesResponseMessageType.php | 23 + .../PhpEws/Response/ResolveNamesResponseType.php | 16 + .../PhpEws/Response/ResponseMessageType.php | 70 + .../SearchMailboxesResponseMessageType.php | 23 + .../Response/SearchMailboxesResponseType.php | 16 + .../PhpEws/Response/SendItemResponseType.php | 16 + .../SendNotificationResponseMessageType.php | 25 + .../Response/SendNotificationResponseType.php | 17 + .../ServiceConfigurationResponseMessageType.php | 43 + .../SetHoldOnMailboxesResponseMessageType.php | 23 + .../Response/SetImGroupResponseMessageType.php | 16 + .../PhpEws/Response/SetUserOofSettingsResponse.php | 25 + .../Response/SubscribeResponseMessageType.php | 34 + .../PhpEws/Response/SubscribeResponseType.php | 16 + .../SyncFolderHierarchyResponseMessageType.php | 48 + .../Response/SyncFolderHierarchyResponseType.php | 16 + .../SyncFolderItemsResponseMessageType.php | 48 + .../Response/SyncFolderItemsResponseType.php | 16 + .../PhpEws/Response/UninstallAppResponseType.php | 16 + .../PhpEws/Response/UnsubscribeResponseType.php | 16 + .../Response/UpdateDelegateResponseMessageType.php | 16 + .../PhpEws/Response/UpdateFolderResponseType.php | 16 + .../Response/UpdateInboxRulesResponseType.php | 24 + .../Response/UpdateItemResponseMessageType.php | 23 + .../PhpEws/Response/UpdateItemResponseType.php | 16 + .../UpdateUserConfigurationResponseType.php | 16 + .../Response/UploadItemsResponseMessageType.php | 23 + .../PhpEws/Response/UploadItemsResponseType.php | 16 + .../exchange-includes/jamesiarmes/PhpEws/Type.php | 45 + .../PhpEws/Type/AbsoluteDateTransitionType.php | 36 + .../Type/AbsoluteMonthlyRecurrencePatternType.php | 27 + .../Type/AbsoluteYearlyRecurrencePatternType.php | 38 + .../jamesiarmes/PhpEws/Type/AcceptItemType.php | 16 + .../PhpEws/Type/AcceptSharingInvitationType.php | 17 + .../jamesiarmes/PhpEws/Type/AddressListIdType.php | 27 + .../jamesiarmes/PhpEws/Type/AggregateOnType.php | 60 + .../PhpEws/Type/AlternateIdBaseType.php | 27 + .../jamesiarmes/PhpEws/Type/AlternateIdType.php | 47 + .../PhpEws/Type/AlternatePublicFolderIdType.php | 23 + .../Type/AlternatePublicFolderItemIdType.php | 24 + .../jamesiarmes/PhpEws/Type/AndType.php | 20 + .../jamesiarmes/PhpEws/Type/AppMetadata.php | 163 + .../jamesiarmes/PhpEws/Type/AppType.php | 37 + .../PhpEws/Type/AppendToFolderFieldType.php | 60 + .../PhpEws/Type/AppendToItemFieldType.php | 105 + .../jamesiarmes/PhpEws/Type/AttachmentIdType.php | 34 + .../PhpEws/Type/AttachmentResponseShapeType.php | 65 + .../jamesiarmes/PhpEws/Type/AttachmentType.php | 96 + .../PhpEws/Type/AttendeeConflictData.php | 18 + .../jamesiarmes/PhpEws/Type/AttendeeType.php | 49 + .../PhpEws/Type/BaseEmailAddressType.php | 18 + .../jamesiarmes/PhpEws/Type/BaseFolderIdType.php | 18 + .../jamesiarmes/PhpEws/Type/BaseFolderType.php | 103 + .../jamesiarmes/PhpEws/Type/BaseGroupByType.php | 28 + .../jamesiarmes/PhpEws/Type/BaseItemIdType.php | 18 + .../PhpEws/Type/BaseNotificationEventType.php | 27 + .../PhpEws/Type/BaseObjectChangedEventType.php | 52 + .../jamesiarmes/PhpEws/Type/BasePagingType.php | 26 + .../PhpEws/Type/BasePathToElementType.php | 18 + .../jamesiarmes/PhpEws/Type/BasePermissionType.php | 92 + .../PhpEws/Type/BaseSubscriptionRequestType.php | 65 + .../PhpEws/Type/BodyContentAttributedValueType.php | 38 + .../jamesiarmes/PhpEws/Type/BodyContentType.php | 36 + .../jamesiarmes/PhpEws/Type/BodyType.php | 34 + .../jamesiarmes/PhpEws/Type/CalendarEvent.php | 66 + .../PhpEws/Type/CalendarEventDetails.php | 90 + .../jamesiarmes/PhpEws/Type/CalendarFolderType.php | 35 + .../jamesiarmes/PhpEws/Type/CalendarItemType.php | 447 + .../PhpEws/Type/CalendarPermissionSetType.php | 35 + .../PhpEws/Type/CalendarPermissionType.php | 36 + .../jamesiarmes/PhpEws/Type/CalendarViewType.php | 55 + .../PhpEws/Type/CancelCalendarItemType.php | 16 + .../PhpEws/Type/ChangeDescriptionType.php | 43 + .../PhpEws/Type/ClientAccessTokenRequestType.php | 45 + .../PhpEws/Type/ClientAccessTokenType.php | 54 + .../jamesiarmes/PhpEws/Type/CompleteNameType.php | 108 + .../PhpEws/Type/ConflictResultsType.php | 25 + .../jamesiarmes/PhpEws/Type/ConnectingSIDType.php | 67 + .../jamesiarmes/PhpEws/Type/ConstantValueType.php | 25 + .../jamesiarmes/PhpEws/Type/ContactItemType.php | 413 + .../jamesiarmes/PhpEws/Type/ContactsFolderType.php | 35 + .../jamesiarmes/PhpEws/Type/ContactsViewType.php | 51 + .../PhpEws/Type/ContainsExpressionType.php | 46 + .../PhpEws/Type/ContextPropertyType.php | 34 + .../PhpEws/Type/ConversationActionType.php | 131 + .../PhpEws/Type/ConversationNodeType.php | 43 + .../PhpEws/Type/ConversationResponseType.php | 54 + .../jamesiarmes/PhpEws/Type/ConversationShape.php | 37 + .../jamesiarmes/PhpEws/Type/ConversationType.php | 310 + .../PhpEws/Type/CreateRuleOperationType.php | 23 + .../PhpEws/Type/DailyRecurrencePatternType.php | 16 + .../PhpEws/Type/DailyRegeneratingPatternType.php | 16 + .../jamesiarmes/PhpEws/Type/DeclineItemType.php | 16 + .../PhpEws/Type/DelegatePermissionsType.php | 82 + .../jamesiarmes/PhpEws/Type/DelegateUserType.php | 55 + .../PhpEws/Type/DeleteFolderFieldType.php | 17 + .../PhpEws/Type/DeleteItemFieldType.php | 17 + .../PhpEws/Type/DeleteRuleOperationType.php | 23 + .../PhpEws/Type/DeletedOccurrenceInfoType.php | 28 + .../jamesiarmes/PhpEws/Type/DirectoryEntryType.php | 26 + .../Type/DiscoverySearchConfigurationType.php | 73 + .../PhpEws/Type/DistinguishedFolderIdType.php | 51 + .../PhpEws/Type/DistinguishedGroupByType.php | 26 + .../PhpEws/Type/DistributionListType.php | 53 + .../jamesiarmes/PhpEws/Type/Duration.php | 38 + .../PhpEws/Type/EffectiveRightsType.php | 86 + .../Type/EmailAddressAttributedValueType.php | 35 + .../Type/EmailAddressDictionaryEntryType.php | 76 + .../PhpEws/Type/EmailAddressDictionaryType.php | 25 + .../jamesiarmes/PhpEws/Type/EmailAddressType.php | 64 + .../PhpEws/Type/EncryptedSharedFolderDataType.php | 40 + .../PhpEws/Type/EndDateRecurrenceRangeType.php | 25 + .../PhpEws/Type/ExchangeImpersonationType.php | 26 + .../jamesiarmes/PhpEws/Type/ExcludesType.php | 27 + .../jamesiarmes/PhpEws/Type/ExcludesValueType.php | 40 + .../jamesiarmes/PhpEws/Type/ExistsType.php | 17 + .../PhpEws/Type/ExtendedAttributeType.php | 34 + .../Type/ExtendedPropertyAttributedValueType.php | 34 + .../PhpEws/Type/ExtendedPropertyType.php | 43 + .../PhpEws/Type/FailedSearchMailboxType.php | 52 + .../jamesiarmes/PhpEws/Type/FieldOrderType.php | 55 + .../PhpEws/Type/FieldURIOrConstantType.php | 24 + .../jamesiarmes/PhpEws/Type/FileAttachmentType.php | 36 + .../PhpEws/Type/FindFolderParentType.php | 77 + .../jamesiarmes/PhpEws/Type/FindItemParentType.php | 88 + .../Type/FindMessageTrackingSearchResultType.php | 103 + .../PhpEws/Type/FolderChangeDescriptionType.php | 16 + .../jamesiarmes/PhpEws/Type/FolderChangeType.php | 45 + .../jamesiarmes/PhpEws/Type/FolderIdType.php | 39 + .../PhpEws/Type/FolderResponseShapeType.php | 39 + .../jamesiarmes/PhpEws/Type/FolderType.php | 32 + .../jamesiarmes/PhpEws/Type/ForwardItemType.php | 16 + .../PhpEws/Type/FractionalPageViewType.php | 41 + .../PhpEws/Type/FreeBusyResponseType.php | 34 + .../jamesiarmes/PhpEws/Type/FreeBusyView.php | 57 + .../PhpEws/Type/FreeBusyViewOptionsType.php | 46 + .../PhpEws/Type/GroupAttendeeConflictData.php | 64 + .../jamesiarmes/PhpEws/Type/GroupByType.php | 51 + .../jamesiarmes/PhpEws/Type/GroupedItemsType.php | 36 + .../PhpEws/Type/ImAddressDictionaryEntryType.php | 39 + .../PhpEws/Type/ImAddressDictionaryType.php | 25 + .../jamesiarmes/PhpEws/Type/ImGroupType.php | 74 + .../jamesiarmes/PhpEws/Type/ImItemListType.php | 34 + .../PhpEws/Type/IndexedPageViewType.php | 48 + .../PhpEws/Type/IndividualAttendeeConflictData.php | 27 + .../jamesiarmes/PhpEws/Type/InstalledAppType.php | 173 + .../jamesiarmes/PhpEws/Type/InternetHeaderType.php | 37 + .../Type/IntervalRecurrencePatternBaseType.php | 23 + .../PhpEws/Type/InvalidRecipientType.php | 53 + .../jamesiarmes/PhpEws/Type/IsEqualToType.php | 17 + .../PhpEws/Type/IsGreaterThanOrEqualToType.php | 18 + .../jamesiarmes/PhpEws/Type/IsGreaterThanType.php | 18 + .../PhpEws/Type/IsLessThanOrEqualToType.php | 18 + .../jamesiarmes/PhpEws/Type/IsLessThanType.php | 18 + .../jamesiarmes/PhpEws/Type/IsNotEqualToType.php | 18 + .../jamesiarmes/PhpEws/Type/ItemAttachmentType.php | 104 + .../PhpEws/Type/ItemChangeDescriptionType.php | 16 + .../jamesiarmes/PhpEws/Type/ItemChangeType.php | 66 + .../jamesiarmes/PhpEws/Type/ItemIdType.php | 47 + .../PhpEws/Type/ItemResponseShapeType.php | 77 + .../jamesiarmes/PhpEws/Type/ItemType.php | 443 + .../Type/KeywordStatisticsSearchResultType.php | 43 + .../jamesiarmes/PhpEws/Type/MailTips.php | 120 + .../PhpEws/Type/MailTipsServiceConfiguration.php | 85 + .../jamesiarmes/PhpEws/Type/MailboxData.php | 49 + .../PhpEws/Type/MailboxHoldResultType.php | 43 + .../PhpEws/Type/MailboxHoldStatusType.php | 45 + .../jamesiarmes/PhpEws/Type/MailboxQueryType.php | 35 + .../PhpEws/Type/MailboxSearchScopeType.php | 45 + .../Type/MailboxStatisticsSearchResultType.php | 34 + .../PhpEws/Type/ManagedFolderInformationType.php | 108 + .../PhpEws/Type/MeetingCancellationMessageType.php | 16 + .../jamesiarmes/PhpEws/Type/MeetingMessageType.php | 94 + .../PhpEws/Type/MeetingRequestMessageType.php | 423 + .../PhpEws/Type/MeetingResponseMessageType.php | 16 + .../jamesiarmes/PhpEws/Type/MemberType.php | 51 + .../jamesiarmes/PhpEws/Type/MembersListType.php | 28 + .../PhpEws/Type/MessageTrackingReportType.php | 82 + .../jamesiarmes/PhpEws/Type/MessageType.php | 148 + .../jamesiarmes/PhpEws/Type/MimeContentType.php | 36 + .../jamesiarmes/PhpEws/Type/ModifiedEventType.php | 23 + .../PhpEws/Type/MonthlyRegeneratingPatternType.php | 16 + .../PhpEws/Type/MovedCopiedEventType.php | 43 + .../Type/MultipleOperandBooleanExpressionType.php | 143 + .../PhpEws/Type/NoEndRecurrenceRangeType.php | 17 + .../Type/NonIndexableItemDetailResultType.php | 34 + .../PhpEws/Type/NonIndexableItemDetailType.php | 102 + .../PhpEws/Type/NonIndexableItemStatisticType.php | 43 + .../jamesiarmes/PhpEws/Type/NotType.php | 17 + .../jamesiarmes/PhpEws/Type/NotificationType.php | 120 + .../PhpEws/Type/NumberedRecurrenceRangeType.php | 23 + .../jamesiarmes/PhpEws/Type/OccurrenceInfoType.php | 62 + .../PhpEws/Type/OccurrenceItemIdType.php | 50 + .../PhpEws/Type/OccurrencesRangeType.php | 57 + .../PhpEws/Type/OpenAsAdminOrSystemServiceType.php | 34 + .../jamesiarmes/PhpEws/Type/OrType.php | 20 + .../jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php | 37 + .../PhpEws/Type/PathToExtendedFieldType.php | 134 + .../PhpEws/Type/PathToIndexedFieldType.php | 36 + .../PhpEws/Type/PathToUnindexedFieldType.php | 25 + .../jamesiarmes/PhpEws/Type/PeriodType.php | 45 + .../jamesiarmes/PhpEws/Type/PermissionSetType.php | 35 + .../jamesiarmes/PhpEws/Type/PermissionType.php | 36 + .../PhpEws/Type/PersonaAttributionType.php | 85 + .../PhpEws/Type/PersonaPhoneNumberType.php | 35 + .../PhpEws/Type/PersonaPostalAddressType.php | 158 + .../PhpEws/Type/PersonaResponseShapeType.php | 36 + .../jamesiarmes/PhpEws/Type/PersonaType.php | 972 ++ .../jamesiarmes/PhpEws/Type/PhoneCallIdType.php | 27 + .../PhpEws/Type/PhoneCallInformationType.php | 64 + .../PhpEws/Type/PhoneNumberAttributedValueType.php | 34 + .../PhpEws/Type/PhoneNumberDictionaryEntryType.php | 39 + .../PhpEws/Type/PhoneNumberDictionaryType.php | 25 + .../Type/PhysicalAddressDictionaryEntryType.php | 75 + .../PhpEws/Type/PhysicalAddressDictionaryType.php | 26 + .../jamesiarmes/PhpEws/Type/PostItemType.php | 99 + .../PhpEws/Type/PostReplyItemBaseType.php | 16 + .../jamesiarmes/PhpEws/Type/PostReplyItemType.php | 23 + .../Type/PostalAddressAttributedValueType.php | 35 + .../PhpEws/Type/PreviewItemMailboxType.php | 37 + .../PhpEws/Type/PreviewItemResponseShapeType.php | 37 + .../PhpEws/Type/PrivateCatalogAddInsType.php | 53 + .../jamesiarmes/PhpEws/Type/ProposeNewTimeType.php | 17 + .../PhpEws/Type/ProtectionRuleActionType.php | 40 + .../PhpEws/Type/ProtectionRuleAndType.php | 65 + .../PhpEws/Type/ProtectionRuleArgumentType.php | 26 + .../PhpEws/Type/ProtectionRuleConditionType.php | 69 + .../PhpEws/Type/ProtectionRuleRecipientIsType.php | 26 + .../Type/ProtectionRuleSenderDepartmentsType.php | 26 + .../jamesiarmes/PhpEws/Type/ProtectionRuleType.php | 69 + .../Type/ProtectionRulesServiceConfiguration.php | 50 + .../PhpEws/Type/PullSubscriptionRequestType.php | 26 + .../PhpEws/Type/PushSubscriptionRequestType.php | 35 + .../jamesiarmes/PhpEws/Type/QueryStringType.php | 56 + .../PhpEws/Type/RecipientTrackingEventType.php | 130 + .../PhpEws/Type/RecurrencePatternBaseType.php | 18 + .../PhpEws/Type/RecurrenceRangeBaseType.php | 27 + .../jamesiarmes/PhpEws/Type/RecurrenceType.php | 113 + .../PhpEws/Type/RecurringDateTransitionType.php | 23 + .../PhpEws/Type/RecurringDayTransitionType.php | 37 + .../PhpEws/Type/RecurringMasterItemIdRanges.php | 25 + .../PhpEws/Type/RecurringMasterItemIdType.php | 41 + .../PhpEws/Type/RecurringTimeTransitionType.php | 33 + .../PhpEws/Type/ReferenceItemResponseType.php | 23 + .../PhpEws/Type/RegeneratingPatternBaseType.php | 16 + .../Type/RelativeMonthlyRecurrencePatternType.php | 38 + .../Type/RelativeYearlyRecurrencePatternType.php | 48 + .../PhpEws/Type/ReminderItemActionType.php | 49 + .../jamesiarmes/PhpEws/Type/ReminderType.php | 105 + .../jamesiarmes/PhpEws/Type/RemoveItemType.php | 19 + .../jamesiarmes/PhpEws/Type/ReplyAllToItemType.php | 17 + .../jamesiarmes/PhpEws/Type/ReplyBody.php | 37 + .../jamesiarmes/PhpEws/Type/ReplyToItemType.php | 16 + .../PhpEws/Type/RequestAttachmentIdType.php | 23 + .../PhpEws/Type/RequestServerVersion.php | 27 + .../jamesiarmes/PhpEws/Type/ResolutionType.php | 34 + .../PhpEws/Type/ResponseObjectCoreType.php | 26 + .../jamesiarmes/PhpEws/Type/ResponseObjectType.php | 23 + .../jamesiarmes/PhpEws/Type/RestrictionType.php | 17 + .../PhpEws/Type/RetentionPolicyTagType.php | 101 + .../jamesiarmes/PhpEws/Type/RoomType.php | 18 + .../jamesiarmes/PhpEws/Type/RootItemIdType.php | 34 + .../jamesiarmes/PhpEws/Type/RuleActionsType.php | 140 + .../PhpEws/Type/RuleOperationErrorType.php | 36 + .../jamesiarmes/PhpEws/Type/RuleOperationType.php | 13 + .../PhpEws/Type/RulePredicateDateRangeType.php | 41 + .../PhpEws/Type/RulePredicateSizeRangeType.php | 37 + .../jamesiarmes/PhpEws/Type/RulePredicatesType.php | 369 + .../jamesiarmes/PhpEws/Type/RuleType.php | 100 + .../PhpEws/Type/RuleValidationErrorType.php | 58 + .../PhpEws/Type/SearchExpressionType.php | 45 + .../jamesiarmes/PhpEws/Type/SearchFolderType.php | 23 + .../PhpEws/Type/SearchMailboxesResultType.php | 117 + .../PhpEws/Type/SearchParametersType.php | 47 + .../PhpEws/Type/SearchPreviewItemType.php | 221 + .../PhpEws/Type/SearchableMailboxType.php | 81 + .../PhpEws/Type/SeekToConditionPageViewType.php | 53 + .../PhpEws/Type/SendNotificationResultType.php | 27 + .../PhpEws/Type/SerializableTimeZone.php | 54 + .../PhpEws/Type/SerializableTimeZoneTime.php | 97 + .../PhpEws/Type/SerializedSecurityContextType.php | 54 + .../jamesiarmes/PhpEws/Type/ServerVersionInfo.php | 61 + .../PhpEws/Type/ServiceConfiguration.php | 19 + .../jamesiarmes/PhpEws/Type/SetFolderFieldType.php | 60 + .../jamesiarmes/PhpEws/Type/SetItemFieldType.php | 114 + .../PhpEws/Type/SetRuleOperationType.php | 23 + .../PhpEws/Type/SidAndAttributesType.php | 36 + .../PhpEws/Type/SingleRecipientType.php | 25 + .../PhpEws/Type/SmartResponseBaseType.php | 122 + .../jamesiarmes/PhpEws/Type/SmartResponseType.php | 23 + .../jamesiarmes/PhpEws/Type/SmtpDomain.php | 39 + .../jamesiarmes/PhpEws/Type/SmtpDomainList.php | 25 + .../PhpEws/Type/StreamingSubscriptionRequest.php | 48 + .../PhpEws/Type/StringArrayAttributedValueType.php | 34 + .../PhpEws/Type/StringAttributedValueType.php | 34 + .../jamesiarmes/PhpEws/Type/StringType.php | 23 + .../jamesiarmes/PhpEws/Type/Suggestion.php | 58 + .../PhpEws/Type/SuggestionDayResult.php | 48 + .../PhpEws/Type/SuggestionsResponseType.php | 35 + .../PhpEws/Type/SuggestionsViewOptionsType.php | 100 + .../PhpEws/Type/SuppressReadReceiptType.php | 16 + .../PhpEws/Type/SyncFolderHierarchyChangesType.php | 45 + .../Type/SyncFolderHierarchyCreateOrUpdateType.php | 61 + .../PhpEws/Type/SyncFolderHierarchyDeleteType.php | 25 + .../PhpEws/Type/SyncFolderItemsChangesType.php | 57 + .../Type/SyncFolderItemsCreateOrUpdateType.php | 115 + .../PhpEws/Type/SyncFolderItemsDeleteType.php | 25 + .../PhpEws/Type/SyncFolderItemsReadFlagType.php | 34 + .../jamesiarmes/PhpEws/Type/TargetFolderIdType.php | 43 + .../jamesiarmes/PhpEws/Type/TaskRecurrenceType.php | 57 + .../jamesiarmes/PhpEws/Type/TaskType.php | 243 + .../jamesiarmes/PhpEws/Type/TasksFolderType.php | 16 + .../PhpEws/Type/TentativelyAcceptItemType.php | 16 + .../jamesiarmes/PhpEws/Type/TimeChangeType.php | 71 + .../PhpEws/Type/TimeZoneContextType.php | 27 + .../PhpEws/Type/TimeZoneDefinitionType.php | 62 + .../jamesiarmes/PhpEws/Type/TimeZoneType.php | 54 + .../Type/TooBigGroupAttendeeConflictData.php | 17 + .../PhpEws/Type/TrackingPropertyType.php | 37 + .../PhpEws/Type/TransitionTargetType.php | 28 + .../jamesiarmes/PhpEws/Type/TransitionType.php | 28 + .../PhpEws/Type/TwoOperandExpressionType.php | 24 + .../Type/UnifiedMessageServiceConfiguration.php | 48 + .../PhpEws/Type/UnknownAttendeeConflictData.php | 17 + .../jamesiarmes/PhpEws/Type/UploadItemType.php | 73 + .../Type/UserConfigurationDictionaryEntryType.php | 34 + .../Type/UserConfigurationDictionaryObjectType.php | 36 + .../Type/UserConfigurationDictionaryType.php | 25 + .../PhpEws/Type/UserConfigurationNameType.php | 26 + .../PhpEws/Type/UserConfigurationType.php | 68 + .../jamesiarmes/PhpEws/Type/UserIdType.php | 67 + .../jamesiarmes/PhpEws/Type/UserMailboxType.php | 34 + .../jamesiarmes/PhpEws/Type/UserOofSettings.php | 71 + .../PhpEws/Type/WeeklyRecurrencePatternType.php | 36 + .../PhpEws/Type/WeeklyRegeneratingPatternType.php | 16 + .../PhpEws/Type/WellKnownResponseObjectType.php | 18 + .../jamesiarmes/PhpEws/Type/WorkingHours.php | 42 + .../jamesiarmes/PhpEws/Type/WorkingPeriod.php | 45 + .../PhpEws/Type/YearlyRegeneratingPatternType.php | 16 + .../jamesiarmes/PhpEws/assets/messages.xsd | 4523 +++++++++ .../jamesiarmes/PhpEws/assets/services.wsdl | 3624 ++++++++ .../jamesiarmes/PhpEws/assets/types.xsd | 9779 ++++++++++++++++++++ .../jamesiarmes/PhpNtlm/SoapClient.php | 226 + .../coursebackend/coursebackend_exchange.inc.php | 242 + .../locationinfo/inc/coursebackend/exchange.todo | 203 - 785 files changed, 67955 insertions(+), 203 deletions(-) create mode 100644 modules-available/locationinfo/exchange-includes/README create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfAppManifestsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfAppsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfArraysOfTrackingPropertiesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfAttachmentsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfAttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfBaseItemIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfBinaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfBodyContentAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfCalendarEvent.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfCalendarPermissionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfContextProperty.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfConversationNodesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfConversationsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfDLExpansionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfDelegateUserResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfDelegateUserType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfDiscoverySearchConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfEmailAddressAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfEmailAddressesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfEncryptedSharedFolderDataType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfExtendedAttributesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfExtendedPropertyAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfFailedSearchMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfFindMessageTrackingSearchResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfFolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfFoldersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfFreeBusyResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfGroupedItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfImGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfInvalidRecipientsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfItemClassType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfKeywordStatisticsSearchResultsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfMailTipsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfMailboxData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfMailboxHoldStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfNonIndexableItemDetailsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfNonIndexableItemStatisticsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfOccurrenceRangesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPeopleQuerySource.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPeopleType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPermissionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPersonaAttributionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPhoneNumberAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPostalAddressAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfPrivateCatalogAddInsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfProtectionRulesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRealItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRecipientTrackingEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRecipientsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRemindersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfResolutionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfResponseMessagesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRetentionPolicyTagsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRoomsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRuleOperationErrorsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRuleOperationsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRuleValidationErrorsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfRulesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSearchItemKindsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSearchPreviewItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSearchableMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfServiceConfigurationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfServiceConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSmtpAddressType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfStringArrayAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfStringAttributedValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfStringsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSuggestion.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSuggestionDayResult.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfTimeZoneDefinitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfTrackingPropertiesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfTransitionsGroupsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfTransitionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfUnknownEntriesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfUserIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfUserMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfValueAttributionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfWorkingPeriod.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfAllItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfAlternateIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfApplyConversationActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfAttachmentsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfAttendeesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfBaseFolderIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfBaseItemIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfClientAccessTokenRequestsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfDeletedOccurrencesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfExtendedFieldURIs.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfExtendedPropertyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfFieldOrdersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfFolderChangeDescriptionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfFolderChangesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfFolderNamesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfFoldersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfGroupIdentifiersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfInternetHeadersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfItemChangeDescriptionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfItemChangesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfItemIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfMailboxQueriesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfMailboxSearchScopesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfNotificationEventTypesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfNotificationsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfOccurrenceInfoType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfPathsToElementType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfPeriodsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfPropertyValuesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfReminderItemActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfRequestAttachmentIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfResponseObjectsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfRestrictedGroupIdentifiersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfSubscriptionIdsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfTimeZoneIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayOfUploadItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/NonEmptyArrayofLegacyDNsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Autodiscover.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ClassMap.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Client.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AffectedTaskOccurrencesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AggregateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AppointmentState.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AvailabilityProxyRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemCreateOrDeleteOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemUpdateOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionLevelType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionReadAccessType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ClientAccessTokenTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConferenceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConflictResolutionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionFailureCauseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContactSourceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentComparisonType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentModeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationActionTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationNodeSortOrder.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationQueryTraversalType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CreateActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DateTimePrecisionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekIndexType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DaysOfWeekType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DefaultShapeNamesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DelegateFolderPermissionLevelType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DeliverMeetingRequestsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DictionaryURIType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisableReasonType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisposalType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedFolderIdNameType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedPropertySetType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedUserType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ElcFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/EmailAddressKeyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExceptionPropertyURIType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExchangeVersionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExternalAudience.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FileAsMappingType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlagStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlaggedForActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FolderQueryTraversalType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FreeBusyViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IdFormatType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImAddressKeyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImportanceChoicesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IndexBasePointType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/InvalidRecipientResponseCodeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemClassType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemQueryTraversalType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LegacyFreeBusyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LocationSourceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailTipTypes.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxSearchLocationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MapiPropertyTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingAttendeeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingRequestTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MemberStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageDispositionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingDeliveryStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingEventDescriptionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingReportTemplateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MonthNamesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/NotificationEventTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Occurrence.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/OofState.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionLevelType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionReadAccessType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneCallStateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneNumberKeyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressIndexType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressKeyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PreviewItemBaseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderGroup.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResolveNamesSearchScopeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseClassType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseCodeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RetentionActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RoutingType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleFieldURIType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleValidationErrorCodeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Scope.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchFolderTraversalType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchItemKindType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchPageDirectionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SensitivityChoicesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ServiceConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SharingDataType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SortDirectionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/StandardGroupByType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SubscriptionStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SuggestionQuality.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SyncFolderItemsScopeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskDelegateStateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TransitionTargetKindType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UnindexedFieldURIType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationDictionaryObjectTypesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationPropertyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoSizeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoTypeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ViewFilterType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddDelegateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddDistributionGroupToImListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddImContactToGroup.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddImGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddNewImContactToGroup.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/AddNewTelUriContactToGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ApplyConversationActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ArchiveItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/BaseDelegateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/BaseMoveCopyFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/BaseMoveCopyItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/BaseRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ConvertIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CopyFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CopyItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateAttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateFolderPathType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateManagedFolderRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/CreateUserConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DeleteAttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DeleteFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DeleteItemType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DeleteUserConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DisableAppType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/DisconnectPhoneCallType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/EmptyFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ExpandDLType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ExportItemsType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindConversationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindMailboxStatisticsByKeywordsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindMessageTrackingReportRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/FindPeopleType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetAppManifestsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetAppMarketplaceUrl.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetAttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetClientAccessTokenType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetConversationItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetDelegateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetDiscoverySearchConfigurationType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetEventsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetHoldOnMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetImItemListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetImItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetInboxRulesRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetMailTipsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetMessageTrackingReportRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetNonIndexableItemDetailsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetNonIndexableItemStatisticsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetPasswordExpirationDateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetPersonaType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetPhoneCallInformationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetRemindersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetRoomListsType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetRoomsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetSearchableMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetServerTimeZonesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetServiceConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetSharingFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetSharingMetadataType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetStreamingEventsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetUserAvailabilityRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetUserConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetUserOofSettingsRequest.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetUserPhotoType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/GetUserRetentionPolicyTagsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/InstallAppType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/MarkAllItemsAsRead.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/MarkAsJunkType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/MoveFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/MoveItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/PerformReminderActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/PlayOnPhoneType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RefreshSharingFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RemoveContactFromImListType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RemoveDelegateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RemoveDistributionGroupFromImListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RemoveImContactFromGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/RemoveImGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/ResolveNamesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SearchMailboxesType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SendItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SetHoldOnMailboxesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SetImGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SetUserOofSettingsRequest.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SubscribeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SyncFolderHierarchyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/SyncFolderItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UninstallAppType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UnsubscribeType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UpdateDelegateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UpdateFolderType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UpdateInboxRulesRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UpdateItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UpdateUserConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Request/UploadItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddDelegateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddDistributionGroupToImListResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddImContactToGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddImGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddNewImContactToGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AddNewTelUriContactToGroupResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ApplyConversationActionResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ApplyConversationActionResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ArchiveItemResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/AttachmentInfoResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/BaseDelegateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/BaseResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ConvertIdResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ConvertIdResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CopyFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CopyItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateAttachmentResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateFolderPathResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateManagedFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/CreateUserConfigurationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DelegateUserResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DeleteAttachmentResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DeleteAttachmentResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DeleteFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DeleteItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DeleteUserConfigurationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DisableAppResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/DisconnectPhoneCallResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/EmptyFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ExpandDLResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ExpandDLResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ExportItemsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ExportItemsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindConversationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindFolderResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindItemResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindMailboxStatisticsByKeywordsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindMailboxStatisticsByKeywordsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindMessageTrackingReportResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FindPeopleResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/FolderInfoResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetAppManifestsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetAppMarketplaceUrlResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetAttachmentResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetClientAccessTokenResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetClientAccessTokenResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetConversationItemsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetConversationItemsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetDelegateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetDiscoverySearchConfigurationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetEventsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetEventsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetHoldOnMailboxesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetImItemListResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetImItemsResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetInboxRulesResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetMailTipsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetMessageTrackingReportResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetNonIndexableItemDetailsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetNonIndexableItemStatisticsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetPasswordExpirationDateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetPersonaResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetPhoneCallInformationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetRemindersResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetRoomListsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetRoomsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetSearchableMailboxesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetServerTimeZonesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetServerTimeZonesResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetServiceConfigurationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetSharingFolderResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetSharingMetadataResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetStreamingEventsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetStreamingEventsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserAvailabilityResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserConfigurationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserConfigurationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserOofSettingsResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserPhotoResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserPhotoResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/GetUserRetentionPolicyTagsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/InstallAppResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ItemInfoResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MailTipsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MarkAllItemsAsReadResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MarkAsJunkResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MarkAsJunkResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MoveFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/MoveItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/PerformReminderActionResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/PlayOnPhoneResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RefreshSharingFolderResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RemoveContactFromImListResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RemoveDelegateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RemoveDistributionGroupFromImListResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RemoveImContactFromGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/RemoveImGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ResolveNamesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ResolveNamesResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SearchMailboxesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SearchMailboxesResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SendItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SendNotificationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SendNotificationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/ServiceConfigurationResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SetHoldOnMailboxesResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SetImGroupResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SetUserOofSettingsResponse.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SubscribeResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SubscribeResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SyncFolderHierarchyResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SyncFolderHierarchyResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SyncFolderItemsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/SyncFolderItemsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UninstallAppResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UnsubscribeResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateDelegateResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateFolderResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateInboxRulesResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateItemResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UpdateUserConfigurationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UploadItemsResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Response/UploadItemsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteMonthlyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteYearlyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptSharingInvitationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AddressListIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AggregateOnType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AndType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppMetadata.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToFolderFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToItemFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentResponseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseEmailAddressType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseGroupByType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseNotificationEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseObjectChangedEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePagingType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePathToElementType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePermissionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseSubscriptionRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEvent.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEventDetails.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionSetType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CancelCalendarItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ChangeDescriptionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CompleteNameType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConflictResultsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConnectingSIDType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConstantValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContainsExpressionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContextPropertyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationNodeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationShape.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CreateRuleOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRegeneratingPatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeclineItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegatePermissionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegateUserType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteFolderFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteItemFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteRuleOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeletedOccurrenceInfoType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DirectoryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DiscoverySearchConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedFolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedGroupByType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistributionListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Duration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EffectiveRightsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressAttributedValueType.php create mode 100755 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EncryptedSharedFolderDataType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EndDateRecurrenceRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExchangeImpersonationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExistsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedAttributeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FailedSearchMailboxType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldOrderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldURIOrConstantType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FileAttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindFolderParentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindItemParentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindMessageTrackingSearchResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeDescriptionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderResponseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ForwardItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FractionalPageViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyView.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyViewOptionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupAttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupByType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupedItemsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImGroupType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImItemListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndexedPageViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndividualAttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InstalledAppType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InternetHeaderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IntervalRecurrencePatternBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InvalidRecipientType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsEqualToType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanOrEqualToType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanOrEqualToType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsNotEqualToType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemAttachmentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeDescriptionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemResponseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/KeywordStatisticsSearchResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTips.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTipsServiceConfiguration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldStatusType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxQueryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxSearchScopeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxStatisticsSearchResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ManagedFolderInformationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingCancellationMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingRequestMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingResponseMessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MemberType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MembersListType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageTrackingReportType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MimeContentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ModifiedEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MonthlyRegeneratingPatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MovedCopiedEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MultipleOperandBooleanExpressionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NoEndRecurrenceRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemStatisticType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotificationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NumberedRecurrenceRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceInfoType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrencesRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OpenAsAdminOrSystemServiceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OrType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToExtendedFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToIndexedFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToUnindexedFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PeriodType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionSetType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaAttributionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPhoneNumberType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPostalAddressType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaResponseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallInformationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostalAddressAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemMailboxType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemResponseShapeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PrivateCatalogAddInsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProposeNewTimeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleAndType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleArgumentType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleConditionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleRecipientIsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleSenderDepartmentsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRulesServiceConfiguration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PullSubscriptionRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PushSubscriptionRequestType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/QueryStringType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecipientTrackingEventType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrencePatternBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceRangeBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDateTransitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDayTransitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdRanges.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringTimeTransitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReferenceItemResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RegeneratingPatternBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeMonthlyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeYearlyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderItemActionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RemoveItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyAllToItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyBody.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyToItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestAttachmentIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestServerVersion.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResolutionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectCoreType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RestrictionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RetentionPolicyTagType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RoomType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RootItemIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleActionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationErrorType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateDateRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateSizeRangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicatesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleValidationErrorType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchExpressionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchMailboxesResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchParametersType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchPreviewItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchableMailboxType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SeekToConditionPageViewType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SendNotificationResultType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZone.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZoneTime.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializedSecurityContextType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServerVersionInfo.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServiceConfiguration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetFolderFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetItemFieldType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetRuleOperationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SidAndAttributesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SingleRecipientType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseBaseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomain.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomainList.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StreamingSubscriptionRequest.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringArrayAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringAttributedValueType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Suggestion.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionDayResult.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionsResponseType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionsViewOptionsType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuppressReadReceiptType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyChangesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyCreateOrUpdateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyDeleteType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsChangesType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsCreateOrUpdateType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsDeleteType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsReadFlagType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TargetFolderIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TaskRecurrenceType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TaskType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TasksFolderType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TentativelyAcceptItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeChangeType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneContextType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneDefinitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TooBigGroupAttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TrackingPropertyType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TransitionTargetType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TransitionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TwoOperandExpressionType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UnifiedMessageServiceConfiguration.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UnknownAttendeeConflictData.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UploadItemType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryEntryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryObjectType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationNameType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserIdType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserMailboxType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserOofSettings.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WeeklyRecurrencePatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WeeklyRegeneratingPatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WellKnownResponseObjectType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WorkingHours.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WorkingPeriod.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/YearlyRegeneratingPatternType.php create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/messages.xsd create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/services.wsdl create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd create mode 100644 modules-available/locationinfo/exchange-includes/jamesiarmes/PhpNtlm/SoapClient.php create mode 100755 modules-available/locationinfo/inc/coursebackend/coursebackend_exchange.inc.php delete mode 100755 modules-available/locationinfo/inc/coursebackend/exchange.todo diff --git a/modules-available/locationinfo/exchange-includes/README b/modules-available/locationinfo/exchange-includes/README new file mode 100644 index 00000000..012de7df --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/README @@ -0,0 +1,4 @@ +Copy of +https://github.com/jamesiarmes/php-ews +and its dependency php-ntlm, minus the +composer stuff. diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType.php new file mode 100644 index 00000000..ca202839 --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType.php @@ -0,0 +1,16 @@ +String; + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSuggestion.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSuggestion.php new file mode 100644 index 00000000..44c7646f --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ArrayType/ArrayOfSuggestion.php @@ -0,0 +1,25 @@ +setCAInfo('/path/to/your/cacert.pem'); + * $ews = $auto->newEWS(); + * + * @link http://technet.microsoft.com/en-us/library/bb332063(EXCHG.80).aspx + * @link https://www.testexchangeconnectivity.com/ + * + * @package php-ews\AutoDiscovery + */ +class Autodiscover +{ + /** + * The path appended to the various schemes and hostnames used during + * autodiscovery. + * + * @var string + */ + const AUTODISCOVER_PATH = '/autodiscover/autodiscover.xml'; + + /** + * Server was discovered using the TLD method. + * + * @var integer + */ + const AUTODISCOVERED_VIA_TLD = 10; + + /** + * Server was discovered using the subdomain method. + * + * @var integer + */ + const AUTODISCOVERED_VIA_SUBDOMAIN = 11; + + /** + * Server was discovered using the unauthenticated GET method. + * + * @var integer + */ + const AUTODISCOVERED_VIA_UNAUTHENTICATED_GET = 12; + + /** + * Server was discovered using the DNS SRV redirect method. + * + * @var integer + */ + const AUTODISCOVERED_VIA_SRV_RECORD = 13; + + /** + * Server was discovered using the HTTP redirect method. + * + * @var integer + * + * @todo We do not currently support this. + */ + const AUTODISCOVERED_VIA_RESPONSE_REDIRECT = 14; + + /** + * The email address to attempt autodiscovery against. + * + * @var string + */ + protected $email; + + /** + * The password to present during autodiscovery. + * + * @var string + */ + protected $password; + + /** + * The Exchange username to use during authentication. If unspecified, + * the provided email address will be used as the username. + * + * @var string + */ + protected $username; + + /** + * The top-level domain name, extracted from the provided email address. + * + * @var string + */ + protected $tld; + + /** + * The Autodiscover XML request. Since it's used repeatedly, it's cached + * in this property to avoid redundant re-generation. + * + * @var string + */ + protected $requestxml; + + /** + * The Certificate Authority path. Should point to a directory containing + * one or more certificates to use in SSL verification. + * + * @var string + */ + protected $capath; + + /** + * The path to a specific Certificate Authority file. Get one and use it + * for full Autodiscovery compliance. + * + * @var string + * + * @link http://curl.haxx.se/ca/cacert.pem + * @link http://curl.haxx.se/ca/ + */ + protected $cainfo; + + /** + * Skip SSL verification. Bad idea, and violates the strict Autodiscover + * protocol. But, here in case you have no other option. + * Defaults to FALSE. + * + * @var boolean + */ + protected $skip_ssl_verification = false; + + /** + * The body of the last response. + * + * @var string + */ + public $last_response; + + /** + * An associative array of response headers that resulted from the + * last request. Keys are lowercased for easy checking. + * + * @var array + */ + public $last_response_headers; + + /** + * The output of curl_info() relating to the most recent cURL request. + * + * @var array + */ + public $last_info; + + /** + * The cURL error code associated with the most recent cURL request. + * + * @var integer + */ + public $last_curl_errno; + + /** + * Human-readable description of the most recent cURL error. + * + * @var string + */ + public $last_curl_error; + + /** + * The value in seconds to use for Autodiscover host connection timeouts. + * Default connection timeout is 2 seconds, so that unresponsive methods + * can be bypassed quickly. + * + * @var integer + */ + public $connection_timeout = 2; + + /** + * Information about an Autodiscover Response containing an error will + * be stored here. + * + * @var mixed + */ + public $error = false; + + /** + * Information about an Autodiscover Response with a redirect will be + * retained here. + * + * @var mixed + */ + public $redirect = false; + + /** + * A successful, non-error and non-redirect parsed Autodiscover response + * will be stored here. + * + * @var mixed + */ + public $discovered = null; + + /** + * Constructor for the EWSAutodiscover class. + * + * @param string $email + * @param string $password + * @param string $username + * If left blank, the email provided will be used. + */ + public function __construct($email, $password, $username = null) + { + $this->email = $email; + $this->password = $password; + if ($username === null) { + $this->username = $email; + } else { + $this->username = $username; + } + + $this->setTLD(); + } + + /** + * Execute the full discovery chain of events in the correct sequence + * until a valid response is received, or all methods have failed. + * + * @return integer + * One of the AUTODISCOVERED_VIA_* constants. + * + * @throws \RuntimeException + * When all autodiscovery methods fail. + */ + public function discover() + { + $result = $this->tryTLD(); + + if ($result === false) { + $result = $this->trySubdomain(); + } + + if ($result === false) { + $result = $this->trySubdomainUnauthenticatedGet(); + } + + if ($result === false) { + $result = $this->trySRVRecord(); + } + + if ($result === false) { + throw new \RuntimeException('Autodiscovery failed.'); + } + + return $result; + } + + /** + * Return the settings discovered from the Autodiscover process. + * + * NULL indicates discovery has not completed (or been attempted) + * FALSE indicates discovery was not successful. Check for errors + * or redirects. + * An array will be returned with discovered settings on success. + * + * @return mixed + */ + public function discoveredSettings() + { + return $this->discovered; + } + + /** + * Toggle skipping of SSL verification in cURL requests. + * + * @param boolean $skip + * Whether or not to skip SSL certificate verification. + * @return self + */ + public function skipSSLVerification($skip = true) + { + $this->skip_ssl_verification = (bool) $skip; + + return $this; + } + + /** + * Parse the hex ServerVersion value and return a valid + * Client::VERSION_* constant. + * + * @return string|boolean A known version constant, or FALSE if it could not + * be determined. + * + * @link http://msdn.microsoft.com/en-us/library/bb204122(v=exchg.140).aspx + * @link http://blogs.msdn.com/b/pcreehan/archive/2009/09/21/parsing-serverversion-when-an-int-is-really-5-ints.aspx + * @link http://office.microsoft.com/en-us/outlook-help/determine-the-version-of-microsoft-exchange-server-my-account-connects-to-HA001191800.aspx + * + * @param string $version_hex + * Hexadecimal version string. + */ + public function parseServerVersion($version_hex) + { + $svbinary = base_convert($version_hex, 16, 2); + if (strlen($svbinary) == 31) { + $svbinary = '0' . $svbinary; + } + + $majorversion = base_convert(substr($svbinary, 4, 6), 2, 10); + $minorversion = base_convert(substr($svbinary, 10, 6), 2, 10); + $majorbuild = base_convert(substr($svbinary, 17, 15), 2, 10); + + switch ($majorversion) { + case 8: + return $this->parseVersion2007($minorversion); + case 14: + return $this->parseVersion2010($minorversion); + case 15: + if ($minorversion == 0) { + return $this->parseVersion2013($majorbuild); + } + + return $this->parseVersion2016(); + } + + // Guess we didn't find a known version. + return false; + } + + /** + * Method to return a new Client object, auto-configured + * with the proper hostname. + * + * @return mixed Client object on success, FALSE on failure. + */ + public function newEWS() + { + // Discovery not yet attempted. + if ($this->discovered === null) { + $this->discover(); + } + + // Discovery not successful. + if ($this->discovered === false) { + return false; + } + + $server = false; + $version = null; + + // Pick out the host from the EXPR (Exchange RPC over HTTP). + foreach ($this->discovered['Account']['Protocol'] as $protocol) { + if ( + ($protocol['Type'] == 'EXCH' || $protocol['Type'] == 'EXPR') + && isset($protocol['ServerVersion']) + ) { + if ($version === null) { + $sv = $this->parseServerVersion($protocol['ServerVersion']); + if ($sv !== false) { + $version = $sv; + } + } + } + + if ($protocol['Type'] == 'EXPR' && isset($protocol['Server'])) { + $server = $protocol['Server']; + } + } + + if ($server) { + if ($version === null) { + // EWS class default. + $version = Client::VERSION_2007; + } + return new Client( + $server, + (!empty($this->username) ? $this->username : $this->email), + $this->password, + $version + ); + } + + return false; + } + + /** + * Static method may fail if there are issues surrounding SSL certificates. + * In such cases, set up the object as needed, and then call newEWS(). + * + * @param string $email + * @param string $password + * @param string $username + * If left blank, the email provided will be used. + * @return mixed + */ + public static function getEWS($email, $password, $username = null) + { + $auto = new Autodiscover($email, $password, $username); + return $auto->newEWS(); + } + + /** + * Perform an NTLM authenticated HTTPS POST to the top-level + * domain of the email address. + * + * @return integer|boolean + * One of the AUTODISCOVERED_VIA_* constants or false on failure. + */ + public function tryTLD() + { + $url = 'https://' . $this->tld . self::AUTODISCOVER_PATH; + return ($this->tryViaUrl($url) ? self::AUTODISCOVERED_VIA_TLD : false); + } + + /** + * Perform an NTLM authenticated HTTPS POST to the 'autodiscover' + * subdomain of the email address' TLD. + * + * @return integer|boolean + * One of the AUTODISCOVERED_VIA_* constants or false on failure. + */ + public function trySubdomain() + { + $url = 'https://autodiscover.' . $this->tld . self::AUTODISCOVER_PATH; + return ($this->tryViaUrl($url) + ? self::AUTODISCOVERED_VIA_SUBDOMAIN + : false); + } + + /** + * Perform an unauthenticated HTTP GET in an attempt to get redirected + * via 302 to the correct location to perform the HTTPS POST. + * + * @return integer|boolean + * One of the AUTODISCOVERED_VIA_* constants or false on failure. + */ + public function trySubdomainUnauthenticatedGet() + { + $this->reset(); + $url = 'http://autodiscover.' . $this->tld . self::AUTODISCOVER_PATH; + $ch = curl_init(); + $opts = array( + CURLOPT_URL => $url, + CURLOPT_HTTPGET => true, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 4, + CURLOPT_CONNECTTIMEOUT => $this->connection_timeout, + CURLOPT_FOLLOWLOCATION => false, + CURLOPT_HEADER => false, + CURLOPT_HEADERFUNCTION => array($this, 'readHeaders'), + CURLOPT_HTTP200ALIASES => array(301, 302), + CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4 + ); + curl_setopt_array($ch, $opts); + $this->last_response = curl_exec($ch); + $this->last_info = curl_getinfo($ch); + $this->last_curl_errno = curl_errno($ch); + $this->last_curl_error = curl_error($ch); + + if ( + $this->last_info['http_code'] == 302 + || $this->last_info['http_code'] == 301 + ) { + if ($this->tryViaUrl($this->last_response_headers['location'])) { + return self::AUTODISCOVERED_VIA_UNAUTHENTICATED_GET; + } + } + + return false; + } + + /** + * Attempt to retrieve the autodiscover host from an SRV DNS record. + * + * @link http://support.microsoft.com/kb/940881 + * + * @return integer|boolean + * The value of self::AUTODISCOVERED_VIA_SRV_RECORD or false. + */ + public function trySRVRecord() + { + $srvhost = '_autodiscover._tcp.' . $this->tld; + $lookup = dns_get_record($srvhost, DNS_SRV); + if (sizeof($lookup) > 0) { + $host = $lookup[0]['target']; + $url = 'https://' . $host . self::AUTODISCOVER_PATH; + if ($this->tryViaUrl($url)) { + return self::AUTODISCOVERED_VIA_SRV_RECORD; + } + } + + return false; + } + + /** + * Set the path to the file to be used by CURLOPT_CAINFO. + * + * @param string $path + * Path to a certificate file such as cacert.pem + * @return self + */ + public function setCAInfo($path) + { + if (file_exists($path) && is_file($path)) { + $this->cainfo = $path; + } + + return $this; + } + + /** + * Set the path to the file to be used by CURLOPT_CAPATH. + * + * @param string $path + * Path to a directory containing one or more CA certificates. + * @return self + */ + public function setCAPath($path) + { + if (is_dir($path)) { + $this->capath = $path; + } + + return $this; + } + + /** + * Set a connection timeout for the POST methods. + * + * @param integer $seconds + * Seconds to wait for a connection. + * @return self + */ + public function setConnectionTimeout($seconds) + { + $this->connection_timeout = intval($seconds); + + return $this; + } + + /** + * Perform the NTLM authenticated post against one of the chosen + * endpoints. + * + * @param string $url + * URL to try posting to. + * @param integer $timeout + * Number of seconds before the request should timeout. + * @return boolean + */ + public function doNTLMPost($url, $timeout = 6) + { + $this->reset(); + + $ch = curl_init(); + $opts = array( + CURLOPT_URL => $url, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC | CURLAUTH_NTLM, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => $this->getAutoDiscoverRequest(), + CURLOPT_RETURNTRANSFER => true, + CURLOPT_USERPWD => $this->username . ':' . $this->password, + CURLOPT_TIMEOUT => $timeout, + CURLOPT_CONNECTTIMEOUT => $this->connection_timeout, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HEADER => false, + CURLOPT_HEADERFUNCTION => array($this, 'readHeaders'), + CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_SSL_VERIFYHOST => 2, + ); + + // Set the appropriate content-type. + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8')); + + if (!empty($this->cainfo)) { + $opts[CURLOPT_CAINFO] = $this->cainfo; + } + + if (!empty($this->capath)) { + $opts[CURLOPT_CAPATH] = $this->capath; + } + + if ($this->skip_ssl_verification) { + $opts[CURLOPT_SSL_VERIFYPEER] = false; + } + + curl_setopt_array($ch, $opts); + $this->last_response = curl_exec($ch); + $this->last_info = curl_getinfo($ch); + $this->last_curl_errno = curl_errno($ch); + $this->last_curl_error = curl_error($ch); + + if ($this->last_curl_errno != CURLE_OK) { + return false; + } + + $discovered = $this->parseAutodiscoverResponse(); + + return $discovered; + } + + /** + * Parse the Autoresponse Payload, particularly to determine if an + * additional request is necessary. + * + * @return boolean|array FALSE if response isn't XML or parsed response + * array. + */ + protected function parseAutodiscoverResponse() + { + // Content-type isn't trustworthy, unfortunately. Shame on Microsoft. + if (substr($this->last_response, 0, 5) !== 'responseToArray($this->last_response); + + if (isset($response['Error'])) { + $this->error = $response['Error']; + return false; + } + + // Check the account action for redirect. + switch ($response['Account']['Action']) { + case 'redirectUrl': + $this->redirect = array( + 'redirectUrl' => $response['Account']['RedirectUrl'] + ); + return false; + case 'redirectAddr': + $this->redirect = array( + 'redirectAddr' => $response['Account']['RedirectAddr'] + ); + return false; + case 'settings': + default: + $this->discovered = $response; + return true; + } + } + + /** + * Set the top-level domain to be used with autodiscover attempts based + * on the provided email address. + * + * @return boolean + */ + protected function setTLD() + { + $pos = strpos($this->email, '@'); + if ($pos !== false) { + $this->tld = trim(substr($this->email, $pos + 1)); + return true; + } + + return false; + } + + /** + * Reset the response-related structures. Called before making a new + * request. + * + * @return self + */ + public function reset() + { + $this->last_response_headers = array(); + $this->last_info = array(); + $this->last_curl_errno = 0; + $this->last_curl_error = ''; + + return $this; + } + + /** + * Return the generated Autodiscover XML request body. + * + * @return string + */ + public function getAutodiscoverRequest() + { + if (!empty($this->requestxml)) { + return $this->requestxml; + } + + $xml = new \XMLWriter(); + $xml->openMemory(); + $xml->setIndent(true); + $xml->startDocument('1.0', 'UTF-8'); + $xml->startElementNS( + null, + 'Autodiscover', + 'http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006' + ); + + $xml->startElement('Request'); + $xml->writeElement('EMailAddress', $this->email); + $xml->writeElement( + 'AcceptableResponseSchema', + 'http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a' + ); + $xml->endElement(); + $xml->endElement(); + + $this->requestxml = $xml->outputMemory(); + return $this->requestxml; + } + + /** + * Utility function to pick headers off of the incoming cURL response. + * Used with CURLOPT_HEADERFUNCTION. + * + * @param resource $_ch + * cURL handle. + * @param string $str + * Header string to read. + * @return integer + * Bytes read. + */ + public function readHeaders($_ch, $str) + { + $pos = strpos($str, ':'); + if ($pos !== false) { + $key = strtolower(substr($str, 0, $pos)); + $val = trim(substr($str, $pos + 1)); + $this->last_response_headers[$key] = $val; + } + + return strlen($str); + } + + /** + * Utility function to parse XML payloads from the response into easier + * to manage associative arrays. + * + * @param string $xml + * XML to parse. + * @return array + */ + public function responseToArray($xml) + { + $doc = new \DOMDocument(); + $doc->loadXML($xml); + $out = $this->nodeToArray($doc->documentElement); + + return $out['Response']; + } + + /** + * Recursive method for parsing DOM nodes. + * + * @param \DOMElement $node + * DOMNode object. + * @return mixed + * + * @link https://github.com/gaarf/XML-string-to-PHP-array + */ + protected function nodeToArray($node) + { + $output = array(); + switch ($node->nodeType) { + case XML_CDATA_SECTION_NODE: + case XML_TEXT_NODE: + $output = trim($node->textContent); + break; + case XML_ELEMENT_NODE: + for ($i = 0, $m = $node->childNodes->length; $i < $m; $i++) { + $child = $node->childNodes->item($i); + $v = $this->nodeToArray($child); + if (isset($child->tagName)) { + $t = $child->tagName; + if (!isset($output[$t])) { + $output[$t] = array(); + } + $output[$t][] = $v; + } elseif ($v || $v === '0') { + $output = (string) $v; + } + } + + // Edge case of a node containing a text node, which also has + // attributes. this way we'll retain text and attributes for + // this node. + if (is_string($output) && $node->attributes->length) { + $output = array('@text' => $output); + } + + if (is_array($output)) { + if ($node->attributes->length) { + $a = array(); + foreach ($node->attributes as $attrName => $attrNode) { + $a[$attrName] = (string) $attrNode->value; + } + $output['@attributes'] = $a; + } + foreach ($output as $t => $v) { + if (is_array($v) && count($v) == 1 && $t != '@attributes') { + $output[$t] = $v[0]; + } + } + } + break; + } + + return $output; + } + + /** + * Parses the version of an Exchange 2007 server. + * + * @param integer $minorversion + * Minor server version. + * @return string Server version. + */ + protected function parseVersion2007($minorversion) { + switch ($minorversion) { + case 0: + return Client::VERSION_2007; + case 1: + case 2: + case 3: + return Client::VERSION_2007_SP1; + default: + return Client::VERSION_2007; + } + } + + /** + * Parses the version of an Exchange 2010 server. + * + * @param integer $minorversion + * Minor server version. + * @return string Server version. + */ + protected function parseVersion2010($minorversion) { + switch ($minorversion) { + case 0: + return Client::VERSION_2010; + case 1: + return Client::VERSION_2010_SP1; + case 2: + return Client::VERSION_2010_SP2; + default: + return Client::VERSION_2010; + } + } + + /** + * Parses the version of an Exchange 2013 server. + * + * @param integer $majorbuild + * Major build version. + * @return string Server version. + */ + protected function parseVersion2013($majorbuild) { + return ($majorbuild == 847 + ? Client::VERSION_2013_SP1 + : Client::VERSION_2013); + } + + /** + * Parses the version of an Exchange 2016 server. + * + * @return string Server version. + */ + protected function parseVersion2016() { + return Client::VERSION_2016; + } + + /** + * Attempts an autodiscover via a URL. + * + * @param string $url + * Url to attempt an autodiscover. + * @param integer $timeout + * Number of seconds before the request should timeout. + * @return boolean + */ + protected function tryViaUrl($url, $timeout = 6) + { + $result = $this->doNTLMPost($url, $timeout); + return ($result ? true : false); + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ClassMap.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ClassMap.php new file mode 100644 index 00000000..cde1cbb8 --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/ClassMap.php @@ -0,0 +1,684 @@ + '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRecipientTrackingEventType', + 'ArrayOfDLExpansionType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfDLExpansionType', + 'NonEmptyArrayOfMailboxQueriesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfMailboxQueriesType', + 'NonEmptyArrayOfBaseItemIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfBaseItemIdsType', + 'ArrayOfAppsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfAppsType', + 'NonEmptyArrayOfNotificationEventTypesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfNotificationEventTypesType', + 'ArrayOfTimeZoneDefinitionType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfTimeZoneDefinitionType', + 'ArrayOfPhoneNumberAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPhoneNumberAttributedValuesType', + 'NonEmptyArrayOfPropertyValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfPropertyValuesType', + 'ArrayOfPrivateCatalogAddInsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPrivateCatalogAddInsType', + 'NonEmptyArrayOfItemChangeDescriptionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfItemChangeDescriptionsType', + 'NonEmptyArrayOfDeletedOccurrencesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfDeletedOccurrencesType', + 'NonEmptyArrayOfFolderChangesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfFolderChangesType', + 'NonEmptyArrayOfExtendedFieldURIs' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfExtendedFieldURIs', + 'ArrayOfTrackingPropertiesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfTrackingPropertiesType', + 'ArrayOfSearchPreviewItemsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSearchPreviewItemsType', + 'ArrayOfRuleOperationErrorsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRuleOperationErrorsType', + 'ArrayOfPersonaAttributionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPersonaAttributionsType', + 'NonEmptyArrayOfReminderItemActionType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfReminderItemActionType', + 'ArrayOfResponseMessagesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfResponseMessagesType', + 'ArrayOfPermissionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPermissionsType', + 'ArrayOfSmtpAddressType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSmtpAddressType', + 'ArrayOfFailedSearchMailboxesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfFailedSearchMailboxesType', + 'NonEmptyArrayOfMailboxSearchScopesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfMailboxSearchScopesType', + 'ArrayOfUnknownEntriesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfUnknownEntriesType', + 'ArrayOfRoomsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRoomsType', + 'ArrayOfStringAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfStringAttributedValuesType', + 'NonEmptyArrayOfNotificationsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfNotificationsType', + 'ArrayOfServiceConfigurationResponseMessageType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfServiceConfigurationResponseMessageType', + 'ArrayOfUserMailboxesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfUserMailboxesType', + 'NonEmptyArrayOfGroupIdentifiersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfGroupIdentifiersType', + 'ArrayOfExtendedPropertyAttributedValueType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfExtendedPropertyAttributedValueType', + 'ArrayOfMailboxData' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfMailboxData', + 'ArrayOfValueAttributionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfValueAttributionsType', + 'ArrayOfDiscoverySearchConfigurationType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfDiscoverySearchConfigurationType', + 'ArrayOfCalendarPermissionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfCalendarPermissionsType', + 'ArrayOfAttendeeConflictData' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfAttendeeConflictData', + 'ArrayOfItemClassType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfItemClassType', + 'ArrayOfWorkingPeriod' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfWorkingPeriod', + 'NonEmptyArrayOfPeriodsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfPeriodsType', + 'NonEmptyArrayOfAllItemsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfAllItemsType', + 'ArrayOfSuggestion' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSuggestion', + 'ArrayOfBinaryType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfBinaryType', + 'ArrayOfPeopleQuerySource' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPeopleQuerySource', + 'ArrayOfPostalAddressAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPostalAddressAttributedValuesType', + 'ArrayOfUserIdType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfUserIdType', + 'ArrayOfBaseItemIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfBaseItemIdsType', + 'ArrayOfProtectionRulesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfProtectionRulesType', + 'ArrayOfRecipientsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRecipientsType', + 'ArrayOfFindMessageTrackingSearchResultType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfFindMessageTrackingSearchResultType', + 'ArrayOfRetentionPolicyTagsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRetentionPolicyTagsType', + 'NonEmptyArrayOfFieldOrdersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfFieldOrdersType', + 'ArrayOfContextProperty' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfContextProperty', + 'ArrayOfEncryptedSharedFolderDataType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfEncryptedSharedFolderDataType', + 'NonEmptyArrayOfAlternateIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfAlternateIdsType', + 'ArrayOfFolderIdType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfFolderIdType', + 'ArrayOfServiceConfigurationType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfServiceConfigurationType', + 'NonEmptyArrayOfFoldersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfFoldersType', + 'ArrayOfStringsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfStringsType', + 'NonEmptyArrayOfInternetHeadersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfInternetHeadersType', + 'ArrayOfImGroupType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfImGroupType', + 'NonEmptyArrayOfExtendedPropertyType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfExtendedPropertyType', + 'ArrayOfOccurrenceRangesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfOccurrenceRangesType', + 'ArrayOfArraysOfTrackingPropertiesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfArraysOfTrackingPropertiesType', + 'ArrayOfRuleValidationErrorsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRuleValidationErrorsType', + 'ArrayOfEmailAddressAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfEmailAddressAttributedValuesType', + 'NonEmptyArrayOfTimeZoneIdType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfTimeZoneIdType', + 'ArrayOfRemindersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRemindersType', + 'ArrayOfSearchableMailboxesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSearchableMailboxesType', + 'NonEmptyArrayOfAttendeesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfAttendeesType', + 'ArrayOfGroupedItemsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfGroupedItemsType', + 'ArrayOfResolutionType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfResolutionType', + 'ArrayOfInvalidRecipientsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfInvalidRecipientsType', + 'ArrayOfSuggestionDayResult' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSuggestionDayResult', + 'NonEmptyArrayofLegacyDNsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayofLegacyDNsType', + 'ArrayOfMailboxHoldStatusType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfMailboxHoldStatusType', + 'NonEmptyArrayOfOccurrenceInfoType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfOccurrenceInfoType', + 'ArrayOfNonIndexableItemDetailsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfNonIndexableItemDetailsType', + 'NonEmptyArrayOfApplyConversationActionType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfApplyConversationActionType', + 'ArrayOfRuleOperationsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRuleOperationsType', + 'ArrayOfPeopleType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfPeopleType', + 'ArrayOfDelegateUserType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfDelegateUserType', + 'ArrayOfBodyContentAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfBodyContentAttributedValuesType', + 'ArrayOfAppManifestsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfAppManifestsType', + 'NonEmptyArrayOfUploadItemsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfUploadItemsType', + 'ArrayOfConversationNodesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfConversationNodesType', + 'ArrayOfMailTipsResponseMessageType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfMailTipsResponseMessageType', + 'NonEmptyArrayOfRestrictedGroupIdentifiersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfRestrictedGroupIdentifiersType', + 'ArrayOfEmailAddressesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfEmailAddressesType', + 'ArrayOfDelegateUserResponseMessageType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfDelegateUserResponseMessageType', + 'ArrayOfRealItemsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRealItemsType', + 'NonEmptyArrayOfFolderNamesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfFolderNamesType', + 'ArrayOfFreeBusyResponse' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfFreeBusyResponse', + 'NonEmptyArrayOfItemChangesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfItemChangesType', + 'ArrayOfSearchItemKindsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfSearchItemKindsType', + 'NonEmptyArrayOfResponseObjectsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfResponseObjectsType', + 'ArrayOfAttachmentsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfAttachmentsType', + 'ArrayOfRulesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfRulesType', + 'ArrayOfCalendarEvent' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfCalendarEvent', + 'NonEmptyArrayOfRequestAttachmentIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfRequestAttachmentIdsType', + 'NonEmptyArrayOfAttachmentsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfAttachmentsType', + 'NonEmptyArrayOfBaseFolderIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfBaseFolderIdsType', + 'NonEmptyArrayOfPathsToElementType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfPathsToElementType', + 'ArrayOfTransitionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfTransitionsType', + 'ArrayOfExtendedAttributesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfExtendedAttributesType', + 'NonEmptyArrayOfFolderChangeDescriptionsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfFolderChangeDescriptionsType', + 'ArrayOfConversationsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfConversationsType', + 'NonEmptyArrayOfClientAccessTokenRequestsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfClientAccessTokenRequestsType', + 'ArrayOfTransitionsGroupsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfTransitionsGroupsType', + 'ArrayOfNonIndexableItemStatisticsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfNonIndexableItemStatisticsType', + 'ArrayOfFoldersType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfFoldersType', + 'ArrayOfStringArrayAttributedValuesType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfStringArrayAttributedValuesType', + 'NonEmptyArrayOfSubscriptionIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfSubscriptionIdsType', + 'NonEmptyArrayOfItemIdsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\NonEmptyArrayOfItemIdsType', + 'ArrayOfKeywordStatisticsSearchResultsType' => '\\jamesiarmes\\PhpEws\\ArrayType\\ArrayOfKeywordStatisticsSearchResultsType', + // Map for Request classes. + 'EmptyFolderType' => '\\jamesiarmes\\PhpEws\\Request\\EmptyFolderType', + 'GetDelegateType' => '\\jamesiarmes\\PhpEws\\Request\\GetDelegateType', + 'CreateAttachmentType' => '\\jamesiarmes\\PhpEws\\Request\\CreateAttachmentType', + 'GetMessageTrackingReportRequestType' => '\\jamesiarmes\\PhpEws\\Request\\GetMessageTrackingReportRequestType', + 'DeleteItemType' => '\\jamesiarmes\\PhpEws\\Request\\DeleteItemType', + 'RemoveDelegateType' => '\\jamesiarmes\\PhpEws\\Request\\RemoveDelegateType', + 'AddImGroupType' => '\\jamesiarmes\\PhpEws\\Request\\AddImGroupType', + 'ResolveNamesType' => '\\jamesiarmes\\PhpEws\\Request\\ResolveNamesType', + 'GetInboxRulesRequestType' => '\\jamesiarmes\\PhpEws\\Request\\GetInboxRulesRequestType', + 'GetImItemListType' => '\\jamesiarmes\\PhpEws\\Request\\GetImItemListType', + 'SetUserOofSettingsRequest' => '\\jamesiarmes\\PhpEws\\Request\\SetUserOofSettingsRequest', + 'GetAppManifestsType' => '\\jamesiarmes\\PhpEws\\Request\\GetAppManifestsType', + 'FindPeopleType' => '\\jamesiarmes\\PhpEws\\Request\\FindPeopleType', + 'FindConversationType' => '\\jamesiarmes\\PhpEws\\Request\\FindConversationType', + 'FindMessageTrackingReportRequestType' => '\\jamesiarmes\\PhpEws\\Request\\FindMessageTrackingReportRequestType', + 'GetEventsType' => '\\jamesiarmes\\PhpEws\\Request\\GetEventsType', + 'PlayOnPhoneType' => '\\jamesiarmes\\PhpEws\\Request\\PlayOnPhoneType', + 'RemoveContactFromImListType' => '\\jamesiarmes\\PhpEws\\Request\\RemoveContactFromImListType', + 'GetPhoneCallInformationType' => '\\jamesiarmes\\PhpEws\\Request\\GetPhoneCallInformationType', + 'UpdateFolderType' => '\\jamesiarmes\\PhpEws\\Request\\UpdateFolderType', + 'GetClientAccessTokenType' => '\\jamesiarmes\\PhpEws\\Request\\GetClientAccessTokenType', + 'GetAppMarketplaceUrl' => '\\jamesiarmes\\PhpEws\\Request\\GetAppMarketplaceUrl', + 'ConvertIdType' => '\\jamesiarmes\\PhpEws\\Request\\ConvertIdType', + 'DisconnectPhoneCallType' => '\\jamesiarmes\\PhpEws\\Request\\DisconnectPhoneCallType', + 'GetAttachmentType' => '\\jamesiarmes\\PhpEws\\Request\\GetAttachmentType', + 'CreateUserConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\CreateUserConfigurationType', + 'DeleteUserConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\DeleteUserConfigurationType', + 'CreateItemType' => '\\jamesiarmes\\PhpEws\\Request\\CreateItemType', + 'FindItemType' => '\\jamesiarmes\\PhpEws\\Request\\FindItemType', + 'GetUserConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\GetUserConfigurationType', + 'GetUserAvailabilityRequestType' => '\\jamesiarmes\\PhpEws\\Request\\GetUserAvailabilityRequestType', + 'PerformReminderActionType' => '\\jamesiarmes\\PhpEws\\Request\\PerformReminderActionType', + 'GetRemindersType' => '\\jamesiarmes\\PhpEws\\Request\\GetRemindersType', + 'GetImItemsType' => '\\jamesiarmes\\PhpEws\\Request\\GetImItemsType', + 'SyncFolderItemsType' => '\\jamesiarmes\\PhpEws\\Request\\SyncFolderItemsType', + 'MoveItemType' => '\\jamesiarmes\\PhpEws\\Request\\MoveItemType', + 'DeleteAttachmentType' => '\\jamesiarmes\\PhpEws\\Request\\DeleteAttachmentType', + 'CopyFolderType' => '\\jamesiarmes\\PhpEws\\Request\\CopyFolderType', + 'RefreshSharingFolderType' => '\\jamesiarmes\\PhpEws\\Request\\RefreshSharingFolderType', + 'UninstallAppType' => '\\jamesiarmes\\PhpEws\\Request\\UninstallAppType', + 'GetSharingFolderType' => '\\jamesiarmes\\PhpEws\\Request\\GetSharingFolderType', + 'GetUserPhotoType' => '\\jamesiarmes\\PhpEws\\Request\\GetUserPhotoType', + 'ExpandDLType' => '\\jamesiarmes\\PhpEws\\Request\\ExpandDLType', + 'GetPasswordExpirationDateType' => '\\jamesiarmes\\PhpEws\\Request\\GetPasswordExpirationDateType', + 'RemoveImGroupType' => '\\jamesiarmes\\PhpEws\\Request\\RemoveImGroupType', + 'AddDistributionGroupToImListType' => '\\jamesiarmes\\PhpEws\\Request\\AddDistributionGroupToImListType', + 'RemoveImContactFromGroupType' => '\\jamesiarmes\\PhpEws\\Request\\RemoveImContactFromGroupType', + 'GetServerTimeZonesType' => '\\jamesiarmes\\PhpEws\\Request\\GetServerTimeZonesType', + 'FindMailboxStatisticsByKeywordsType' => '\\jamesiarmes\\PhpEws\\Request\\FindMailboxStatisticsByKeywordsType', + 'SubscribeType' => '\\jamesiarmes\\PhpEws\\Request\\SubscribeType', + 'SetImGroupType' => '\\jamesiarmes\\PhpEws\\Request\\SetImGroupType', + 'DisableAppType' => '\\jamesiarmes\\PhpEws\\Request\\DisableAppType', + 'BaseMoveCopyItemType' => '\\jamesiarmes\\PhpEws\\Request\\BaseMoveCopyItemType', + 'GetSharingMetadataType' => '\\jamesiarmes\\PhpEws\\Request\\GetSharingMetadataType', + 'GetHoldOnMailboxesType' => '\\jamesiarmes\\PhpEws\\Request\\GetHoldOnMailboxesType', + 'AddNewTelUriContactToGroupType' => '\\jamesiarmes\\PhpEws\\Request\\AddNewTelUriContactToGroupType', + 'GetUserRetentionPolicyTagsType' => '\\jamesiarmes\\PhpEws\\Request\\GetUserRetentionPolicyTagsType', + 'InstallAppType' => '\\jamesiarmes\\PhpEws\\Request\\InstallAppType', + 'SetHoldOnMailboxesType' => '\\jamesiarmes\\PhpEws\\Request\\SetHoldOnMailboxesType', + 'CreateManagedFolderRequestType' => '\\jamesiarmes\\PhpEws\\Request\\CreateManagedFolderRequestType', + 'DeleteFolderType' => '\\jamesiarmes\\PhpEws\\Request\\DeleteFolderType', + 'GetRoomsType' => '\\jamesiarmes\\PhpEws\\Request\\GetRoomsType', + 'UpdateUserConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\UpdateUserConfigurationType', + 'GetRoomListsType' => '\\jamesiarmes\\PhpEws\\Request\\GetRoomListsType', + 'BaseMoveCopyFolderType' => '\\jamesiarmes\\PhpEws\\Request\\BaseMoveCopyFolderType', + 'GetStreamingEventsType' => '\\jamesiarmes\\PhpEws\\Request\\GetStreamingEventsType', + 'AddDelegateType' => '\\jamesiarmes\\PhpEws\\Request\\AddDelegateType', + 'MoveFolderType' => '\\jamesiarmes\\PhpEws\\Request\\MoveFolderType', + 'GetSearchableMailboxesType' => '\\jamesiarmes\\PhpEws\\Request\\GetSearchableMailboxesType', + 'GetDiscoverySearchConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\GetDiscoverySearchConfigurationType', + 'FindFolderType' => '\\jamesiarmes\\PhpEws\\Request\\FindFolderType', + 'ArchiveItemType' => '\\jamesiarmes\\PhpEws\\Request\\ArchiveItemType', + 'GetNonIndexableItemDetailsType' => '\\jamesiarmes\\PhpEws\\Request\\GetNonIndexableItemDetailsType', + 'UnsubscribeType' => '\\jamesiarmes\\PhpEws\\Request\\UnsubscribeType', + 'BaseRequestType' => '\\jamesiarmes\\PhpEws\\Request\\BaseRequestType', + 'GetUserOofSettingsRequest' => '\\jamesiarmes\\PhpEws\\Request\\GetUserOofSettingsRequest', + 'SearchMailboxesType' => '\\jamesiarmes\\PhpEws\\Request\\SearchMailboxesType', + 'GetConversationItemsType' => '\\jamesiarmes\\PhpEws\\Request\\GetConversationItemsType', + 'GetPersonaType' => '\\jamesiarmes\\PhpEws\\Request\\GetPersonaType', + 'CreateFolderType' => '\\jamesiarmes\\PhpEws\\Request\\CreateFolderType', + 'GetMailTipsType' => '\\jamesiarmes\\PhpEws\\Request\\GetMailTipsType', + 'GetItemType' => '\\jamesiarmes\\PhpEws\\Request\\GetItemType', + 'ApplyConversationActionType' => '\\jamesiarmes\\PhpEws\\Request\\ApplyConversationActionType', + 'RemoveDistributionGroupFromImListType' => '\\jamesiarmes\\PhpEws\\Request\\RemoveDistributionGroupFromImListType', + 'SyncFolderHierarchyType' => '\\jamesiarmes\\PhpEws\\Request\\SyncFolderHierarchyType', + 'AddNewImContactToGroup' => '\\jamesiarmes\\PhpEws\\Request\\AddNewImContactToGroup', + 'ExportItemsType' => '\\jamesiarmes\\PhpEws\\Request\\ExportItemsType', + 'CreateFolderPathType' => '\\jamesiarmes\\PhpEws\\Request\\CreateFolderPathType', + 'GetFolderType' => '\\jamesiarmes\\PhpEws\\Request\\GetFolderType', + 'UploadItemsType' => '\\jamesiarmes\\PhpEws\\Request\\UploadItemsType', + 'UpdateInboxRulesRequestType' => '\\jamesiarmes\\PhpEws\\Request\\UpdateInboxRulesRequestType', + 'GetNonIndexableItemStatisticsType' => '\\jamesiarmes\\PhpEws\\Request\\GetNonIndexableItemStatisticsType', + 'UpdateDelegateType' => '\\jamesiarmes\\PhpEws\\Request\\UpdateDelegateType', + 'GetServiceConfigurationType' => '\\jamesiarmes\\PhpEws\\Request\\GetServiceConfigurationType', + 'AddImContactToGroup' => '\\jamesiarmes\\PhpEws\\Request\\AddImContactToGroup', + 'MarkAsJunkType' => '\\jamesiarmes\\PhpEws\\Request\\MarkAsJunkType', + 'UpdateItemType' => '\\jamesiarmes\\PhpEws\\Request\\UpdateItemType', + 'BaseDelegateType' => '\\jamesiarmes\\PhpEws\\Request\\BaseDelegateType', + 'MarkAllItemsAsRead' => '\\jamesiarmes\\PhpEws\\Request\\MarkAllItemsAsRead', + 'CopyItemType' => '\\jamesiarmes\\PhpEws\\Request\\CopyItemType', + 'SendItemType' => '\\jamesiarmes\\PhpEws\\Request\\SendItemType', + // Map for Response classes. + 'GetRoomsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetRoomsResponseMessageType', + 'SetUserOofSettingsResponse' => '\\jamesiarmes\\PhpEws\\Response\\SetUserOofSettingsResponse', + 'GetUserConfigurationResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserConfigurationResponseType', + 'UnsubscribeResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UnsubscribeResponseType', + 'GetPhoneCallInformationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetPhoneCallInformationResponseMessageType', + 'FindMessageTrackingReportResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindMessageTrackingReportResponseMessageType', + 'ServiceConfigurationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ServiceConfigurationResponseMessageType', + 'GetSharingMetadataResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetSharingMetadataResponseMessageType', + 'GetFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetFolderResponseType', + 'MarkAllItemsAsReadResponseType' => '\\jamesiarmes\\PhpEws\\Response\\MarkAllItemsAsReadResponseType', + 'UpdateItemResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateItemResponseMessageType', + 'SubscribeResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SubscribeResponseMessageType', + 'GetImItemsResponse' => '\\jamesiarmes\\PhpEws\\Response\\GetImItemsResponse', + 'ItemInfoResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ItemInfoResponseMessageType', + 'UploadItemsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\UploadItemsResponseMessageType', + 'GetRemindersResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetRemindersResponseMessageType', + 'AddNewTelUriContactToGroupResponse' => '\\jamesiarmes\\PhpEws\\Response\\AddNewTelUriContactToGroupResponse', + 'UpdateFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateFolderResponseType', + 'GetRoomListsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetRoomListsResponseMessageType', + 'ApplyConversationActionResponseType' => '\\jamesiarmes\\PhpEws\\Response\\ApplyConversationActionResponseType', + 'CreateFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateFolderResponseType', + 'GetClientAccessTokenResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetClientAccessTokenResponseMessageType', + 'GetHoldOnMailboxesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetHoldOnMailboxesResponseMessageType', + 'SetImGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SetImGroupResponseMessageType', + 'MailTipsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\MailTipsResponseMessageType', + 'UninstallAppResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UninstallAppResponseType', + 'SendNotificationResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SendNotificationResponseType', + 'DisconnectPhoneCallResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\DisconnectPhoneCallResponseMessageType', + 'DeleteAttachmentResponseType' => '\\jamesiarmes\\PhpEws\\Response\\DeleteAttachmentResponseType', + 'UploadItemsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UploadItemsResponseType', + 'PlayOnPhoneResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\PlayOnPhoneResponseMessageType', + 'GetPersonaResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetPersonaResponseMessageType', + 'GetConversationItemsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetConversationItemsResponseMessageType', + 'FindMailboxStatisticsByKeywordsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\FindMailboxStatisticsByKeywordsResponseType', + 'SyncFolderHierarchyResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SyncFolderHierarchyResponseMessageType', + 'AddImContactToGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AddImContactToGroupResponseMessageType', + 'ResolveNamesResponseType' => '\\jamesiarmes\\PhpEws\\Response\\ResolveNamesResponseType', + 'MarkAsJunkResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\MarkAsJunkResponseMessageType', + 'GetConversationItemsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetConversationItemsResponseType', + 'MoveFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\MoveFolderResponseType', + 'AddImGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AddImGroupResponseMessageType', + 'ArchiveItemResponse' => '\\jamesiarmes\\PhpEws\\Response\\ArchiveItemResponse', + 'GetPasswordExpirationDateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetPasswordExpirationDateResponseMessageType', + 'RemoveImContactFromGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RemoveImContactFromGroupResponseMessageType', + 'FindFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\FindFolderResponseType', + 'GetServerTimeZonesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetServerTimeZonesResponseMessageType', + 'RemoveContactFromImListResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RemoveContactFromImListResponseMessageType', + 'ResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ResponseMessageType', + 'UpdateInboxRulesResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateInboxRulesResponseType', + 'UpdateUserConfigurationResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateUserConfigurationResponseType', + 'GetServiceConfigurationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetServiceConfigurationResponseMessageType', + 'CreateUserConfigurationResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateUserConfigurationResponseType', + 'SearchMailboxesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SearchMailboxesResponseMessageType', + 'FindMailboxStatisticsByKeywordsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindMailboxStatisticsByKeywordsResponseMessageType', + 'GetUserOofSettingsResponse' => '\\jamesiarmes\\PhpEws\\Response\\GetUserOofSettingsResponse', + 'GetItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetItemResponseType', + 'SyncFolderItemsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SyncFolderItemsResponseType', + 'RemoveDelegateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RemoveDelegateResponseMessageType', + 'GetInboxRulesResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetInboxRulesResponseType', + 'DeleteFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\DeleteFolderResponseType', + 'AddDistributionGroupToImListResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AddDistributionGroupToImListResponseMessageType', + 'BaseResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\BaseResponseMessageType', + 'CopyItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CopyItemResponseType', + 'SetHoldOnMailboxesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SetHoldOnMailboxesResponseMessageType', + 'GetNonIndexableItemStatisticsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetNonIndexableItemStatisticsResponseMessageType', + 'DisableAppResponseType' => '\\jamesiarmes\\PhpEws\\Response\\DisableAppResponseType', + 'RefreshSharingFolderResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RefreshSharingFolderResponseMessageType', + 'FindConversationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindConversationResponseMessageType', + 'SendItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SendItemResponseType', + 'RemoveDistributionGroupFromImListResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RemoveDistributionGroupFromImListResponseMessageType', + 'GetDiscoverySearchConfigurationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetDiscoverySearchConfigurationResponseMessageType', + 'GetEventsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetEventsResponseType', + 'ConvertIdResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ConvertIdResponseMessageType', + 'FindPeopleResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindPeopleResponseMessageType', + 'FindItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\FindItemResponseType', + 'GetAppManifestsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetAppManifestsResponseType', + 'CreateAttachmentResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateAttachmentResponseType', + 'PerformReminderActionResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\PerformReminderActionResponseMessageType', + 'SendNotificationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SendNotificationResponseMessageType', + 'FindItemResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindItemResponseMessageType', + 'GetAttachmentResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetAttachmentResponseType', + 'ExportItemsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\ExportItemsResponseType', + 'BaseDelegateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\BaseDelegateResponseMessageType', + 'GetStreamingEventsResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetStreamingEventsResponseType', + 'GetStreamingEventsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetStreamingEventsResponseMessageType', + 'MoveItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\MoveItemResponseType', + 'GetUserRetentionPolicyTagsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserRetentionPolicyTagsResponseMessageType', + 'SyncFolderItemsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\SyncFolderItemsResponseMessageType', + 'DeleteItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\DeleteItemResponseType', + 'ConvertIdResponseType' => '\\jamesiarmes\\PhpEws\\Response\\ConvertIdResponseType', + 'ExpandDLResponseType' => '\\jamesiarmes\\PhpEws\\Response\\ExpandDLResponseType', + 'ExpandDLResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ExpandDLResponseMessageType', + 'GetDelegateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetDelegateResponseMessageType', + 'GetClientAccessTokenResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetClientAccessTokenResponseType', + 'MarkAsJunkResponseType' => '\\jamesiarmes\\PhpEws\\Response\\MarkAsJunkResponseType', + 'CreateManagedFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateManagedFolderResponseType', + 'InstallAppResponseType' => '\\jamesiarmes\\PhpEws\\Response\\InstallAppResponseType', + 'FolderInfoResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FolderInfoResponseMessageType', + 'GetMessageTrackingReportResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetMessageTrackingReportResponseMessageType', + 'AttachmentInfoResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AttachmentInfoResponseMessageType', + 'SubscribeResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SubscribeResponseType', + 'GetSharingFolderResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetSharingFolderResponseMessageType', + 'DelegateUserResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\DelegateUserResponseMessageType', + 'UpdateItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateItemResponseType', + 'CreateFolderPathResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateFolderPathResponseType', + 'AddNewImContactToGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AddNewImContactToGroupResponseMessageType', + 'GetServerTimeZonesResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetServerTimeZonesResponseType', + 'ExportItemsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ExportItemsResponseMessageType', + 'GetMailTipsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetMailTipsResponseMessageType', + 'GetUserConfigurationResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserConfigurationResponseMessageType', + 'GetUserPhotoResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserPhotoResponseMessageType', + 'RemoveImGroupResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\RemoveImGroupResponseMessageType', + 'SearchMailboxesResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SearchMailboxesResponseType', + 'ResolveNamesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ResolveNamesResponseMessageType', + 'DeleteUserConfigurationResponseType' => '\\jamesiarmes\\PhpEws\\Response\\DeleteUserConfigurationResponseType', + 'GetUserPhotoResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserPhotoResponseType', + 'SyncFolderHierarchyResponseType' => '\\jamesiarmes\\PhpEws\\Response\\SyncFolderHierarchyResponseType', + 'GetUserAvailabilityResponseType' => '\\jamesiarmes\\PhpEws\\Response\\GetUserAvailabilityResponseType', + 'EmptyFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\EmptyFolderResponseType', + 'FindFolderResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\FindFolderResponseMessageType', + 'DeleteAttachmentResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\DeleteAttachmentResponseMessageType', + 'GetAppMarketplaceUrlResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetAppMarketplaceUrlResponseMessageType', + 'CopyFolderResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CopyFolderResponseType', + 'UpdateDelegateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\UpdateDelegateResponseMessageType', + 'CreateItemResponseType' => '\\jamesiarmes\\PhpEws\\Response\\CreateItemResponseType', + 'ApplyConversationActionResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\ApplyConversationActionResponseMessageType', + 'GetEventsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetEventsResponseMessageType', + 'AddDelegateResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\AddDelegateResponseMessageType', + 'GetImItemListResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetImItemListResponseMessageType', + 'GetSearchableMailboxesResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetSearchableMailboxesResponseMessageType', + 'GetNonIndexableItemDetailsResponseMessageType' => '\\jamesiarmes\\PhpEws\\Response\\GetNonIndexableItemDetailsResponseMessageType', + // Map for Type classes. + 'ExcludesType' => '\\jamesiarmes\\PhpEws\\Type\\ExcludesType', + 'IsNotEqualToType' => '\\jamesiarmes\\PhpEws\\Type\\IsNotEqualToType', + 'MessageTrackingReportType' => '\\jamesiarmes\\PhpEws\\Type\\MessageTrackingReportType', + 'PhysicalAddressDictionaryType' => '\\jamesiarmes\\PhpEws\\Type\\PhysicalAddressDictionaryType', + 'IntervalRecurrencePatternBaseType' => '\\jamesiarmes\\PhpEws\\Type\\IntervalRecurrencePatternBaseType', + 'BaseEmailAddressType' => '\\jamesiarmes\\PhpEws\\Type\\BaseEmailAddressType', + 'FindMessageTrackingSearchResultType' => '\\jamesiarmes\\PhpEws\\Type\\FindMessageTrackingSearchResultType', + 'ProtectionRuleSenderDepartmentsType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleSenderDepartmentsType', + 'SeekToConditionPageViewType' => '\\jamesiarmes\\PhpEws\\Type\\SeekToConditionPageViewType', + 'SmtpDomain' => '\\jamesiarmes\\PhpEws\\Type\\SmtpDomain', + 'EmailAddressDictionaryType' => '\\jamesiarmes\\PhpEws\\Type\\EmailAddressDictionaryType', + 'ItemAttachmentType' => '\\jamesiarmes\\PhpEws\\Type\\ItemAttachmentType', + 'MovedCopiedEventType' => '\\jamesiarmes\\PhpEws\\Type\\MovedCopiedEventType', + 'FindFolderParentType' => '\\jamesiarmes\\PhpEws\\Type\\FindFolderParentType', + 'FileAttachmentType' => '\\jamesiarmes\\PhpEws\\Type\\FileAttachmentType', + 'ItemChangeType' => '\\jamesiarmes\\PhpEws\\Type\\ItemChangeType', + 'CreateRuleOperationType' => '\\jamesiarmes\\PhpEws\\Type\\CreateRuleOperationType', + 'StringAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\StringAttributedValueType', + 'ContactsFolderType' => '\\jamesiarmes\\PhpEws\\Type\\ContactsFolderType', + 'BaseGroupByType' => '\\jamesiarmes\\PhpEws\\Type\\BaseGroupByType', + 'ConversationShape' => '\\jamesiarmes\\PhpEws\\Type\\ConversationShape', + 'ReminderType' => '\\jamesiarmes\\PhpEws\\Type\\ReminderType', + 'ContactItemType' => '\\jamesiarmes\\PhpEws\\Type\\ContactItemType', + 'OccurrenceInfoType' => '\\jamesiarmes\\PhpEws\\Type\\OccurrenceInfoType', + 'TargetFolderIdType' => '\\jamesiarmes\\PhpEws\\Type\\TargetFolderIdType', + 'BaseFolderType' => '\\jamesiarmes\\PhpEws\\Type\\BaseFolderType', + 'DailyRegeneratingPatternType' => '\\jamesiarmes\\PhpEws\\Type\\DailyRegeneratingPatternType', + 'RulePredicateSizeRangeType' => '\\jamesiarmes\\PhpEws\\Type\\RulePredicateSizeRangeType', + 'AttachmentType' => '\\jamesiarmes\\PhpEws\\Type\\AttachmentType', + 'SearchParametersType' => '\\jamesiarmes\\PhpEws\\Type\\SearchParametersType', + 'MailboxData' => '\\jamesiarmes\\PhpEws\\Type\\MailboxData', + 'ImAddressDictionaryType' => '\\jamesiarmes\\PhpEws\\Type\\ImAddressDictionaryType', + 'PreviewItemMailboxType' => '\\jamesiarmes\\PhpEws\\Type\\PreviewItemMailboxType', + 'PathToIndexedFieldType' => '\\jamesiarmes\\PhpEws\\Type\\PathToIndexedFieldType', + 'AlternatePublicFolderItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\AlternatePublicFolderItemIdType', + 'AttendeeConflictData' => '\\jamesiarmes\\PhpEws\\Type\\AttendeeConflictData', + 'CalendarFolderType' => '\\jamesiarmes\\PhpEws\\Type\\CalendarFolderType', + 'RecurrenceType' => '\\jamesiarmes\\PhpEws\\Type\\RecurrenceType', + 'UserConfigurationDictionaryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\UserConfigurationDictionaryEntryType', + 'ItemType' => '\\jamesiarmes\\PhpEws\\Type\\ItemType', + 'TimeZoneDefinitionType' => '\\jamesiarmes\\PhpEws\\Type\\TimeZoneDefinitionType', + 'SingleRecipientType' => '\\jamesiarmes\\PhpEws\\Type\\SingleRecipientType', + 'NonIndexableItemStatisticType' => '\\jamesiarmes\\PhpEws\\Type\\NonIndexableItemStatisticType', + 'IsGreaterThanOrEqualToType' => '\\jamesiarmes\\PhpEws\\Type\\IsGreaterThanOrEqualToType', + 'BaseItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\BaseItemIdType', + 'IndexedPageViewType' => '\\jamesiarmes\\PhpEws\\Type\\IndexedPageViewType', + 'WeeklyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\WeeklyRecurrencePatternType', + 'ServiceConfiguration' => '\\jamesiarmes\\PhpEws\\Type\\ServiceConfiguration', + 'CompleteNameType' => '\\jamesiarmes\\PhpEws\\Type\\CompleteNameType', + 'MailboxHoldResultType' => '\\jamesiarmes\\PhpEws\\Type\\MailboxHoldResultType', + 'IsLessThanType' => '\\jamesiarmes\\PhpEws\\Type\\IsLessThanType', + 'Suggestion' => '\\jamesiarmes\\PhpEws\\Type\\Suggestion', + 'SidAndAttributesType' => '\\jamesiarmes\\PhpEws\\Type\\SidAndAttributesType', + 'ImAddressDictionaryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\ImAddressDictionaryEntryType', + 'RecurringDateTransitionType' => '\\jamesiarmes\\PhpEws\\Type\\RecurringDateTransitionType', + 'MailTipsServiceConfiguration' => '\\jamesiarmes\\PhpEws\\Type\\MailTipsServiceConfiguration', + 'UserConfigurationDictionaryType' => '\\jamesiarmes\\PhpEws\\Type\\UserConfigurationDictionaryType', + 'AttendeeType' => '\\jamesiarmes\\PhpEws\\Type\\AttendeeType', + 'ReplyToItemType' => '\\jamesiarmes\\PhpEws\\Type\\ReplyToItemType', + 'KeywordStatisticsSearchResultType' => '\\jamesiarmes\\PhpEws\\Type\\KeywordStatisticsSearchResultType', + 'AlternatePublicFolderIdType' => '\\jamesiarmes\\PhpEws\\Type\\AlternatePublicFolderIdType', + 'TimeZoneContextType' => '\\jamesiarmes\\PhpEws\\Type\\TimeZoneContextType', + 'BaseFolderIdType' => '\\jamesiarmes\\PhpEws\\Type\\BaseFolderIdType', + 'TaskType' => '\\jamesiarmes\\PhpEws\\Type\\TaskType', + 'ContextPropertyType' => '\\jamesiarmes\\PhpEws\\Type\\ContextPropertyType', + 'PersonaAttributionType' => '\\jamesiarmes\\PhpEws\\Type\\PersonaAttributionType', + 'TentativelyAcceptItemType' => '\\jamesiarmes\\PhpEws\\Type\\TentativelyAcceptItemType', + 'AcceptSharingInvitationType' => '\\jamesiarmes\\PhpEws\\Type\\AcceptSharingInvitationType', + 'ConversationResponseType' => '\\jamesiarmes\\PhpEws\\Type\\ConversationResponseType', + 'ResolutionType' => '\\jamesiarmes\\PhpEws\\Type\\ResolutionType', + 'PeriodType' => '\\jamesiarmes\\PhpEws\\Type\\PeriodType', + 'WorkingHours' => '\\jamesiarmes\\PhpEws\\Type\\WorkingHours', + 'SetItemFieldType' => '\\jamesiarmes\\PhpEws\\Type\\SetItemFieldType', + 'ConflictResultsType' => '\\jamesiarmes\\PhpEws\\Type\\ConflictResultsType', + 'PreviewItemResponseShapeType' => '\\jamesiarmes\\PhpEws\\Type\\PreviewItemResponseShapeType', + 'AppendToItemFieldType' => '\\jamesiarmes\\PhpEws\\Type\\AppendToItemFieldType', + 'RuleActionsType' => '\\jamesiarmes\\PhpEws\\Type\\RuleActionsType', + 'FieldURIOrConstantType' => '\\jamesiarmes\\PhpEws\\Type\\FieldURIOrConstantType', + 'IndividualAttendeeConflictData' => '\\jamesiarmes\\PhpEws\\Type\\IndividualAttendeeConflictData', + 'ConversationActionType' => '\\jamesiarmes\\PhpEws\\Type\\ConversationActionType', + 'UserConfigurationType' => '\\jamesiarmes\\PhpEws\\Type\\UserConfigurationType', + 'RecurringDayTransitionType' => '\\jamesiarmes\\PhpEws\\Type\\RecurringDayTransitionType', + 'FolderChangeType' => '\\jamesiarmes\\PhpEws\\Type\\FolderChangeType', + 'RuleOperationType' => '\\jamesiarmes\\PhpEws\\Type\\RuleOperationType', + 'DeleteRuleOperationType' => '\\jamesiarmes\\PhpEws\\Type\\DeleteRuleOperationType', + 'ConversationNodeType' => '\\jamesiarmes\\PhpEws\\Type\\ConversationNodeType', + 'PathToUnindexedFieldType' => '\\jamesiarmes\\PhpEws\\Type\\PathToUnindexedFieldType', + 'SearchPreviewItemType' => '\\jamesiarmes\\PhpEws\\Type\\SearchPreviewItemType', + 'EncryptedSharedFolderDataType' => '\\jamesiarmes\\PhpEws\\Type\\EncryptedSharedFolderDataType', + 'SerializableTimeZoneTime' => '\\jamesiarmes\\PhpEws\\Type\\SerializableTimeZoneTime', + 'BodyContentAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\BodyContentAttributedValueType', + 'UserConfigurationDictionaryObjectType' => '\\jamesiarmes\\PhpEws\\Type\\UserConfigurationDictionaryObjectType', + 'AttachmentResponseShapeType' => '\\jamesiarmes\\PhpEws\\Type\\AttachmentResponseShapeType', + 'ItemResponseShapeType' => '\\jamesiarmes\\PhpEws\\Type\\ItemResponseShapeType', + 'SearchMailboxesResultType' => '\\jamesiarmes\\PhpEws\\Type\\SearchMailboxesResultType', + 'PersonaResponseShapeType' => '\\jamesiarmes\\PhpEws\\Type\\PersonaResponseShapeType', + 'TwoOperandExpressionType' => '\\jamesiarmes\\PhpEws\\Type\\TwoOperandExpressionType', + 'TaskRecurrenceType' => '\\jamesiarmes\\PhpEws\\Type\\TaskRecurrenceType', + 'MessageType' => '\\jamesiarmes\\PhpEws\\Type\\MessageType', + 'PostItemType' => '\\jamesiarmes\\PhpEws\\Type\\PostItemType', + 'DeclineItemType' => '\\jamesiarmes\\PhpEws\\Type\\DeclineItemType', + 'NonIndexableItemDetailResultType' => '\\jamesiarmes\\PhpEws\\Type\\NonIndexableItemDetailResultType', + 'ReminderItemActionType' => '\\jamesiarmes\\PhpEws\\Type\\ReminderItemActionType', + 'SyncFolderItemsChangesType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderItemsChangesType', + 'OutOfOfficeMailTip' => '\\jamesiarmes\\PhpEws\\Type\\OutOfOfficeMailTip', + 'ConnectingSIDType' => '\\jamesiarmes\\PhpEws\\Type\\ConnectingSIDType', + 'MailboxHoldStatusType' => '\\jamesiarmes\\PhpEws\\Type\\MailboxHoldStatusType', + 'RootItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\RootItemIdType', + 'SerializableTimeZone' => '\\jamesiarmes\\PhpEws\\Type\\SerializableTimeZone', + 'PersonaType' => '\\jamesiarmes\\PhpEws\\Type\\PersonaType', + 'ReplyAllToItemType' => '\\jamesiarmes\\PhpEws\\Type\\ReplyAllToItemType', + 'InternetHeaderType' => '\\jamesiarmes\\PhpEws\\Type\\InternetHeaderType', + 'ModifiedEventType' => '\\jamesiarmes\\PhpEws\\Type\\ModifiedEventType', + 'GroupAttendeeConflictData' => '\\jamesiarmes\\PhpEws\\Type\\GroupAttendeeConflictData', + 'EffectiveRightsType' => '\\jamesiarmes\\PhpEws\\Type\\EffectiveRightsType', + 'WellKnownResponseObjectType' => '\\jamesiarmes\\PhpEws\\Type\\WellKnownResponseObjectType', + 'SyncFolderItemsReadFlagType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderItemsReadFlagType', + 'DeleteItemFieldType' => '\\jamesiarmes\\PhpEws\\Type\\DeleteItemFieldType', + 'BodyContentType' => '\\jamesiarmes\\PhpEws\\Type\\BodyContentType', + 'InstalledAppType' => '\\jamesiarmes\\PhpEws\\Type\\InstalledAppType', + 'ProposeNewTimeType' => '\\jamesiarmes\\PhpEws\\Type\\ProposeNewTimeType', + 'PhoneNumberDictionaryType' => '\\jamesiarmes\\PhpEws\\Type\\PhoneNumberDictionaryType', + 'TooBigGroupAttendeeConflictData' => '\\jamesiarmes\\PhpEws\\Type\\TooBigGroupAttendeeConflictData', + 'SuggestionsViewOptionsType' => '\\jamesiarmes\\PhpEws\\Type\\SuggestionsViewOptionsType', + 'PermissionSetType' => '\\jamesiarmes\\PhpEws\\Type\\PermissionSetType', + 'CalendarEvent' => '\\jamesiarmes\\PhpEws\\Type\\CalendarEvent', + 'ExistsType' => '\\jamesiarmes\\PhpEws\\Type\\ExistsType', + 'ProtectionRuleArgumentType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleArgumentType', + 'ChangeDescriptionType' => '\\jamesiarmes\\PhpEws\\Type\\ChangeDescriptionType', + 'FolderIdType' => '\\jamesiarmes\\PhpEws\\Type\\FolderIdType', + 'DeletedOccurrenceInfoType' => '\\jamesiarmes\\PhpEws\\Type\\DeletedOccurrenceInfoType', + 'SuggestionDayResult' => '\\jamesiarmes\\PhpEws\\Type\\SuggestionDayResult', + 'GroupByType' => '\\jamesiarmes\\PhpEws\\Type\\GroupByType', + 'UnifiedMessageServiceConfiguration' => '\\jamesiarmes\\PhpEws\\Type\\UnifiedMessageServiceConfiguration', + 'ContactsViewType' => '\\jamesiarmes\\PhpEws\\Type\\ContactsViewType', + 'RulePredicatesType' => '\\jamesiarmes\\PhpEws\\Type\\RulePredicatesType', + 'TrackingPropertyType' => '\\jamesiarmes\\PhpEws\\Type\\TrackingPropertyType', + 'ClientAccessTokenType' => '\\jamesiarmes\\PhpEws\\Type\\ClientAccessTokenType', + 'MeetingResponseMessageType' => '\\jamesiarmes\\PhpEws\\Type\\MeetingResponseMessageType', + 'BaseNotificationEventType' => '\\jamesiarmes\\PhpEws\\Type\\BaseNotificationEventType', + 'UserOofSettings' => '\\jamesiarmes\\PhpEws\\Type\\UserOofSettings', + 'PhoneCallInformationType' => '\\jamesiarmes\\PhpEws\\Type\\PhoneCallInformationType', + 'RemoveItemType' => '\\jamesiarmes\\PhpEws\\Type\\RemoveItemType', + 'RuleType' => '\\jamesiarmes\\PhpEws\\Type\\RuleType', + 'SyncFolderHierarchyDeleteType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderHierarchyDeleteType', + 'ResponseObjectType' => '\\jamesiarmes\\PhpEws\\Type\\ResponseObjectType', + 'DistinguishedGroupByType' => '\\jamesiarmes\\PhpEws\\Type\\DistinguishedGroupByType', + 'SyncFolderHierarchyCreateOrUpdateType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderHierarchyCreateOrUpdateType', + 'CalendarPermissionSetType' => '\\jamesiarmes\\PhpEws\\Type\\CalendarPermissionSetType', + 'RuleValidationErrorType' => '\\jamesiarmes\\PhpEws\\Type\\RuleValidationErrorType', + 'MailboxQueryType' => '\\jamesiarmes\\PhpEws\\Type\\MailboxQueryType', + 'UploadItemType' => '\\jamesiarmes\\PhpEws\\Type\\UploadItemType', + 'BodyType' => '\\jamesiarmes\\PhpEws\\Type\\BodyType', + 'SyncFolderItemsDeleteType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderItemsDeleteType', + 'BasePermissionType' => '\\jamesiarmes\\PhpEws\\Type\\BasePermissionType', + 'WeeklyRegeneratingPatternType' => '\\jamesiarmes\\PhpEws\\Type\\WeeklyRegeneratingPatternType', + 'MeetingMessageType' => '\\jamesiarmes\\PhpEws\\Type\\MeetingMessageType', + 'PathToExtendedFieldType' => '\\jamesiarmes\\PhpEws\\Type\\PathToExtendedFieldType', + 'SearchableMailboxType' => '\\jamesiarmes\\PhpEws\\Type\\SearchableMailboxType', + 'AttachmentIdType' => '\\jamesiarmes\\PhpEws\\Type\\AttachmentIdType', + 'ExtendedAttributeType' => '\\jamesiarmes\\PhpEws\\Type\\ExtendedAttributeType', + 'ForwardItemType' => '\\jamesiarmes\\PhpEws\\Type\\ForwardItemType', + 'RecipientTrackingEventType' => '\\jamesiarmes\\PhpEws\\Type\\RecipientTrackingEventType', + 'ResponseObjectCoreType' => '\\jamesiarmes\\PhpEws\\Type\\ResponseObjectCoreType', + 'ImGroupType' => '\\jamesiarmes\\PhpEws\\Type\\ImGroupType', + 'ExcludesValueType' => '\\jamesiarmes\\PhpEws\\Type\\ExcludesValueType', + 'SmtpDomainList' => '\\jamesiarmes\\PhpEws\\Type\\SmtpDomainList', + 'UserIdType' => '\\jamesiarmes\\PhpEws\\Type\\UserIdType', + 'ProtectionRuleConditionType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleConditionType', + 'ReferenceItemResponseType' => '\\jamesiarmes\\PhpEws\\Type\\ReferenceItemResponseType', + 'RecurrencePatternBaseType' => '\\jamesiarmes\\PhpEws\\Type\\RecurrencePatternBaseType', + 'FolderResponseShapeType' => '\\jamesiarmes\\PhpEws\\Type\\FolderResponseShapeType', + 'NonIndexableItemDetailType' => '\\jamesiarmes\\PhpEws\\Type\\NonIndexableItemDetailType', + 'ManagedFolderInformationType' => '\\jamesiarmes\\PhpEws\\Type\\ManagedFolderInformationType', + 'OpenAsAdminOrSystemServiceType' => '\\jamesiarmes\\PhpEws\\Type\\OpenAsAdminOrSystemServiceType', + 'Duration' => '\\jamesiarmes\\PhpEws\\Type\\Duration', + 'RelativeYearlyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\RelativeYearlyRecurrencePatternType', + 'BasePagingType' => '\\jamesiarmes\\PhpEws\\Type\\BasePagingType', + 'TimeChangeType' => '\\jamesiarmes\\PhpEws\\Type\\TimeChangeType', + 'RestrictionType' => '\\jamesiarmes\\PhpEws\\Type\\RestrictionType', + 'SearchFolderType' => '\\jamesiarmes\\PhpEws\\Type\\SearchFolderType', + 'EmailAddressType' => '\\jamesiarmes\\PhpEws\\Type\\EmailAddressType', + 'FolderChangeDescriptionType' => '\\jamesiarmes\\PhpEws\\Type\\FolderChangeDescriptionType', + 'ProtectionRuleType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleType', + 'RoomType' => '\\jamesiarmes\\PhpEws\\Type\\RoomType', + 'ServerVersionInfo' => '\\jamesiarmes\\PhpEws\\Type\\ServerVersionInfo', + 'OccurrencesRangeType' => '\\jamesiarmes\\PhpEws\\Type\\OccurrencesRangeType', + 'StreamingSubscriptionRequest' => '\\jamesiarmes\\PhpEws\\Type\\StreamingSubscriptionRequest', + 'FreeBusyViewOptionsType' => '\\jamesiarmes\\PhpEws\\Type\\FreeBusyViewOptionsType', + 'CalendarItemType' => '\\jamesiarmes\\PhpEws\\Type\\CalendarItemType', + 'PhoneNumberDictionaryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\PhoneNumberDictionaryEntryType', + 'ProtectionRulesServiceConfiguration' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRulesServiceConfiguration', + 'UserMailboxType' => '\\jamesiarmes\\PhpEws\\Type\\UserMailboxType', + 'FieldOrderType' => '\\jamesiarmes\\PhpEws\\Type\\FieldOrderType', + 'CalendarPermissionType' => '\\jamesiarmes\\PhpEws\\Type\\CalendarPermissionType', + 'MeetingRequestMessageType' => '\\jamesiarmes\\PhpEws\\Type\\MeetingRequestMessageType', + 'RecurringMasterItemIdRanges' => '\\jamesiarmes\\PhpEws\\Type\\RecurringMasterItemIdRanges', + 'RecurringTimeTransitionType' => '\\jamesiarmes\\PhpEws\\Type\\RecurringTimeTransitionType', + 'AbsoluteDateTransitionType' => '\\jamesiarmes\\PhpEws\\Type\\AbsoluteDateTransitionType', + 'TransitionType' => '\\jamesiarmes\\PhpEws\\Type\\TransitionType', + 'NoEndRecurrenceRangeType' => '\\jamesiarmes\\PhpEws\\Type\\NoEndRecurrenceRangeType', + 'ClientAccessTokenRequestType' => '\\jamesiarmes\\PhpEws\\Type\\ClientAccessTokenRequestType', + 'PersonaPostalAddressType' => '\\jamesiarmes\\PhpEws\\Type\\PersonaPostalAddressType', + 'AbsoluteMonthlyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\AbsoluteMonthlyRecurrencePatternType', + 'ImItemListType' => '\\jamesiarmes\\PhpEws\\Type\\ImItemListType', + 'TransitionTargetType' => '\\jamesiarmes\\PhpEws\\Type\\TransitionTargetType', + 'BaseObjectChangedEventType' => '\\jamesiarmes\\PhpEws\\Type\\BaseObjectChangedEventType', + 'FreeBusyView' => '\\jamesiarmes\\PhpEws\\Type\\FreeBusyView', + 'MemberType' => '\\jamesiarmes\\PhpEws\\Type\\MemberType', + 'DistinguishedFolderIdType' => '\\jamesiarmes\\PhpEws\\Type\\DistinguishedFolderIdType', + 'ConstantValueType' => '\\jamesiarmes\\PhpEws\\Type\\ConstantValueType', + 'String' => '\\jamesiarmes\\PhpEws\\Type\\StringType', + 'PrivateCatalogAddInsType' => '\\jamesiarmes\\PhpEws\\Type\\PrivateCatalogAddInsType', + 'PostalAddressAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\PostalAddressAttributedValueType', + 'MembersListType' => '\\jamesiarmes\\PhpEws\\Type\\MembersListType', + 'RelativeMonthlyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\RelativeMonthlyRecurrencePatternType', + 'AlternateIdType' => '\\jamesiarmes\\PhpEws\\Type\\AlternateIdType', + 'QueryStringType' => '\\jamesiarmes\\PhpEws\\Type\\QueryStringType', + 'MultipleOperandBooleanExpressionType' => '\\jamesiarmes\\PhpEws\\Type\\MultipleOperandBooleanExpressionType', + 'PersonaPhoneNumberType' => '\\jamesiarmes\\PhpEws\\Type\\PersonaPhoneNumberType', + 'PhoneNumberAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\PhoneNumberAttributedValueType', + 'MimeContentType' => '\\jamesiarmes\\PhpEws\\Type\\MimeContentType', + 'PullSubscriptionRequestType' => '\\jamesiarmes\\PhpEws\\Type\\PullSubscriptionRequestType', + 'SendNotificationResultType' => '\\jamesiarmes\\PhpEws\\Type\\SendNotificationResultType', + 'UserConfigurationNameType' => '\\jamesiarmes\\PhpEws\\Type\\UserConfigurationNameType', + 'UnknownAttendeeConflictData' => '\\jamesiarmes\\PhpEws\\Type\\UnknownAttendeeConflictData', + 'ContainsExpressionType' => '\\jamesiarmes\\PhpEws\\Type\\ContainsExpressionType', + 'StringArrayAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\StringArrayAttributedValueType', + 'SetFolderFieldType' => '\\jamesiarmes\\PhpEws\\Type\\SetFolderFieldType', + 'RecurrenceRangeBaseType' => '\\jamesiarmes\\PhpEws\\Type\\RecurrenceRangeBaseType', + 'ReplyBody' => '\\jamesiarmes\\PhpEws\\Type\\ReplyBody', + 'MeetingCancellationMessageType' => '\\jamesiarmes\\PhpEws\\Type\\MeetingCancellationMessageType', + 'EmailAddressDictionaryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\EmailAddressDictionaryEntryType', + 'PostReplyItemBaseType' => '\\jamesiarmes\\PhpEws\\Type\\PostReplyItemBaseType', + 'ExtendedPropertyType' => '\\jamesiarmes\\PhpEws\\Type\\ExtendedPropertyType', + 'AbsoluteYearlyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\AbsoluteYearlyRecurrencePatternType', + 'DistributionListType' => '\\jamesiarmes\\PhpEws\\Type\\DistributionListType', + 'FolderType' => '\\jamesiarmes\\PhpEws\\Type\\FolderType', + 'SmartResponseBaseType' => '\\jamesiarmes\\PhpEws\\Type\\SmartResponseBaseType', + 'EmailAddressAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\EmailAddressAttributedValueType', + 'InvalidRecipientType' => '\\jamesiarmes\\PhpEws\\Type\\InvalidRecipientType', + 'ProtectionRuleAndType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleAndType', + 'RetentionPolicyTagType' => '\\jamesiarmes\\PhpEws\\Type\\RetentionPolicyTagType', + 'PermissionType' => '\\jamesiarmes\\PhpEws\\Type\\PermissionType', + 'AcceptItemType' => '\\jamesiarmes\\PhpEws\\Type\\AcceptItemType', + 'SearchExpressionType' => '\\jamesiarmes\\PhpEws\\Type\\SearchExpressionType', + 'TasksFolderType' => '\\jamesiarmes\\PhpEws\\Type\\TasksFolderType', + 'AppendToFolderFieldType' => '\\jamesiarmes\\PhpEws\\Type\\AppendToFolderFieldType', + 'TimeZoneType' => '\\jamesiarmes\\PhpEws\\Type\\TimeZoneType', + 'NotificationType' => '\\jamesiarmes\\PhpEws\\Type\\NotificationType', + 'ExtendedPropertyAttributedValueType' => '\\jamesiarmes\\PhpEws\\Type\\ExtendedPropertyAttributedValueType', + 'PhoneCallIdType' => '\\jamesiarmes\\PhpEws\\Type\\PhoneCallIdType', + 'RegeneratingPatternBaseType' => '\\jamesiarmes\\PhpEws\\Type\\RegeneratingPatternBaseType', + 'OrType' => '\\jamesiarmes\\PhpEws\\Type\\OrType', + 'MailboxSearchScopeType' => '\\jamesiarmes\\PhpEws\\Type\\MailboxSearchScopeType', + 'ProtectionRuleRecipientIsType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleRecipientIsType', + 'ExchangeImpersonationType' => '\\jamesiarmes\\PhpEws\\Type\\ExchangeImpersonationType', + 'GroupedItemsType' => '\\jamesiarmes\\PhpEws\\Type\\GroupedItemsType', + 'DailyRecurrencePatternType' => '\\jamesiarmes\\PhpEws\\Type\\DailyRecurrencePatternType', + 'FractionalPageViewType' => '\\jamesiarmes\\PhpEws\\Type\\FractionalPageViewType', + 'RuleOperationErrorType' => '\\jamesiarmes\\PhpEws\\Type\\RuleOperationErrorType', + 'PostReplyItemType' => '\\jamesiarmes\\PhpEws\\Type\\PostReplyItemType', + 'DelegatePermissionsType' => '\\jamesiarmes\\PhpEws\\Type\\DelegatePermissionsType', + 'CalendarViewType' => '\\jamesiarmes\\PhpEws\\Type\\CalendarViewType', + 'IsLessThanOrEqualToType' => '\\jamesiarmes\\PhpEws\\Type\\IsLessThanOrEqualToType', + 'SmartResponseType' => '\\jamesiarmes\\PhpEws\\Type\\SmartResponseType', + 'NumberedRecurrenceRangeType' => '\\jamesiarmes\\PhpEws\\Type\\NumberedRecurrenceRangeType', + 'ItemChangeDescriptionType' => '\\jamesiarmes\\PhpEws\\Type\\ItemChangeDescriptionType', + 'BasePathToElementType' => '\\jamesiarmes\\PhpEws\\Type\\BasePathToElementType', + 'BaseSubscriptionRequestType' => '\\jamesiarmes\\PhpEws\\Type\\BaseSubscriptionRequestType', + 'CalendarEventDetails' => '\\jamesiarmes\\PhpEws\\Type\\CalendarEventDetails', + 'AppMetadata' => '\\jamesiarmes\\PhpEws\\Type\\AppMetadata', + 'PushSubscriptionRequestType' => '\\jamesiarmes\\PhpEws\\Type\\PushSubscriptionRequestType', + 'SyncFolderHierarchyChangesType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderHierarchyChangesType', + 'ItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\ItemIdType', + 'WorkingPeriod' => '\\jamesiarmes\\PhpEws\\Type\\WorkingPeriod', + 'ConversationType' => '\\jamesiarmes\\PhpEws\\Type\\ConversationType', + 'AppType' => '\\jamesiarmes\\PhpEws\\Type\\AppType', + 'RulePredicateDateRangeType' => '\\jamesiarmes\\PhpEws\\Type\\RulePredicateDateRangeType', + 'FailedSearchMailboxType' => '\\jamesiarmes\\PhpEws\\Type\\FailedSearchMailboxType', + 'SyncFolderItemsCreateOrUpdateType' => '\\jamesiarmes\\PhpEws\\Type\\SyncFolderItemsCreateOrUpdateType', + 'PhysicalAddressDictionaryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\PhysicalAddressDictionaryEntryType', + 'SuppressReadReceiptType' => '\\jamesiarmes\\PhpEws\\Type\\SuppressReadReceiptType', + 'FindItemParentType' => '\\jamesiarmes\\PhpEws\\Type\\FindItemParentType', + 'ProtectionRuleActionType' => '\\jamesiarmes\\PhpEws\\Type\\ProtectionRuleActionType', + 'IsEqualToType' => '\\jamesiarmes\\PhpEws\\Type\\IsEqualToType', + 'SuggestionsResponseType' => '\\jamesiarmes\\PhpEws\\Type\\SuggestionsResponseType', + 'DelegateUserType' => '\\jamesiarmes\\PhpEws\\Type\\DelegateUserType', + 'DiscoverySearchConfigurationType' => '\\jamesiarmes\\PhpEws\\Type\\DiscoverySearchConfigurationType', + 'RecurringMasterItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\RecurringMasterItemIdType', + 'SerializedSecurityContextType' => '\\jamesiarmes\\PhpEws\\Type\\SerializedSecurityContextType', + 'OccurrenceItemIdType' => '\\jamesiarmes\\PhpEws\\Type\\OccurrenceItemIdType', + 'RequestAttachmentIdType' => '\\jamesiarmes\\PhpEws\\Type\\RequestAttachmentIdType', + 'DirectoryEntryType' => '\\jamesiarmes\\PhpEws\\Type\\DirectoryEntryType', + 'AddressListIdType' => '\\jamesiarmes\\PhpEws\\Type\\AddressListIdType', + 'DeleteFolderFieldType' => '\\jamesiarmes\\PhpEws\\Type\\DeleteFolderFieldType', + 'AndType' => '\\jamesiarmes\\PhpEws\\Type\\AndType', + 'SetRuleOperationType' => '\\jamesiarmes\\PhpEws\\Type\\SetRuleOperationType', + 'FreeBusyResponseType' => '\\jamesiarmes\\PhpEws\\Type\\FreeBusyResponseType', + 'MailTips' => '\\jamesiarmes\\PhpEws\\Type\\MailTips', + 'EndDateRecurrenceRangeType' => '\\jamesiarmes\\PhpEws\\Type\\EndDateRecurrenceRangeType', + 'NotType' => '\\jamesiarmes\\PhpEws\\Type\\NotType', + 'AlternateIdBaseType' => '\\jamesiarmes\\PhpEws\\Type\\AlternateIdBaseType', + 'MonthlyRegeneratingPatternType' => '\\jamesiarmes\\PhpEws\\Type\\MonthlyRegeneratingPatternType', + 'AggregateOnType' => '\\jamesiarmes\\PhpEws\\Type\\AggregateOnType', + 'MailboxStatisticsSearchResultType' => '\\jamesiarmes\\PhpEws\\Type\\MailboxStatisticsSearchResultType', + 'IsGreaterThanType' => '\\jamesiarmes\\PhpEws\\Type\\IsGreaterThanType', + 'YearlyRegeneratingPatternType' => '\\jamesiarmes\\PhpEws\\Type\\YearlyRegeneratingPatternType', + 'CancelCalendarItemType' => '\\jamesiarmes\\PhpEws\\Type\\CancelCalendarItemType', + 'RequestServerVersion' => '\\jamesiarmes\\PhpEws\\Type\\RequestServerVersion', + ); + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Client.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Client.php new file mode 100644 index 00000000..c25d7ecc --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Client.php @@ -0,0 +1,1702 @@ +setServer($server); + $this->setUsername($username); + $this->setPassword($password); + $this->setVersion($version); + } + + /** + * Returns the SOAP Client that may be used to make calls against the server + * + * @return \jamesiarmes\PhpNtlm\SoapClient + */ + public function getClient() + { + // If the SOAP client has yet to be initialized then do so now. + if (empty($this->soap)) { + $this->initializeSoapClient(); + } + + return $this->soap; + } + + /** + * Sets the cURL options that will be set on the SOAP client. + * + * @param array $options + */ + public function setCurlOptions(array $options) + { + $this->curl_options = $options; + + // We need to reinitialize the SOAP client. + $this->soap = null; + } + + /** + * Sets the impersonation property + * + * @param \jamesiarmes\PhpEws\Type\ExchangeImpersonationType $impersonation + */ + public function setImpersonation($impersonation) + { + $this->impersonation = $impersonation; + + // We need to re-build the SOAP headers. + $this->headers = array(); + } + + /** + * Sets the password property + * + * @param string $password + */ + public function setPassword($password) + { + $this->password = $password; + + // We need to reinitialize the SOAP client. + $this->soap = null; + } + + /** + * Sets the server property + * + * @param string $server + */ + public function setServer($server) + { + $this->server = $server; + + // We need to reinitialize the SOAP client. + $this->soap = null; + } + + /** + * Sets the timezone to be used for all requests. + * + * @param string $timezone + */ + public function setTimezone($timezone) + { + $this->timezone = $timezone; + + // We need to re-build the SOAP headers. + $this->headers = array(); + } + + /** + * Sets the user name property + * + * @param string $username + */ + public function setUsername($username) + { + $this->username = $username; + + // We need to reinitialize the SOAP client. + $this->soap = null; + } + + /** + * Sets the version property + * + * @param string $version + */ + public function setVersion($version) + { + $this->version = $version; + + // We need to re-build the SOAP headers. + $this->headers = array(); + } + + /** + * Adds one or more delegates to a principal's mailbox and sets specific + * access permissions. + * + * @since Exchange 2007 SP1 + * + * @param \jamesiarmes\PhpEws\Request\AddDelegateType $request + * @return \jamesiarmes\PhpEws\Response\AddDelegateResponseMessageType + */ + public function AddDelegate($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds a distribution group to the instant messaging (IM) list in the + * Unified Contact Store. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\AddDistributionGroupToImListType $request + * @return \jamesiarmes\PhpEws\Response\AddDistributionGroupToImListResponseMessageType + */ + public function AddDistributionGroupToImList($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds an existing instant messaging (IM) contact to a group. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\AddImContactToGroup $request + * @return \jamesiarmes\PhpEws\Response\AddImContactToGroupResponseMessageType + */ + public function AddImContactToGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds a new instant messaging (IM) group to a mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\AddImGroupType $request + * @return \jamesiarmes\PhpEws\Response\AddImGroupResponseMessageType + */ + public function AddImGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds a new contact to an instant messaging (IM) group. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\AddNewImContactToGroup $request + * @return \jamesiarmes\PhpEws\Response\AddNewImContactToGroupResponseMessageType + */ + public function AddNewImContactToGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds a new contact to a group based on a contact's phone number. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\AddNewTelUriContactToGroupType $request + * @return \jamesiarmes\PhpEws\Response\AddNewTelUriContactToGroupResponse + */ + public function AddNewTelUriContactToGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * 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 \jamesiarmes\PhpEws\Request\ApplyConversationActionType $request + * @return \jamesiarmes\PhpEws\Response\ApplyConversationActionResponseType + */ + public function ApplyConversationAction($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Moves an item into the mailbox user's archive mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\ArchiveItemType $request + * @return \jamesiarmes\PhpEws\Response\ArchiveItemResponse + */ + public function ArchiveItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Converts item and folder identifiers between formats that are accepted by + * Exchange Online, Exchange Online as part of Office 365, and on-premises + * versions of Exchange. + * + * @since Exchange 2007 SP1 + * + * @param \jamesiarmes\PhpEws\Request\ConvertIdType $request + * @return \jamesiarmes\PhpEws\Response\ConvertIdResponseType + */ + public function ConvertId($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Copies folders in a mailbox. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CopyFolderType $request + * @return \jamesiarmes\PhpEws\Response\CopyFolderResponseType + */ + public function CopyFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Copies items and puts the items in a different folder. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CopyItemType $request + * @return \jamesiarmes\PhpEws\Response\CopyItemResponseType + */ + public function CopyItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates either an item or file attachment and attaches it to the + * specified item. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CreateAttachmentType $request + * @return \jamesiarmes\PhpEws\Response\CreateAttachmentResponseType + */ + public function CreateAttachment($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates folders, calendar folders, contacts folders, tasks folders, and + * search folders. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CreateFolderType $request + * @return \jamesiarmes\PhpEws\Response\CreateFolderResponseType + */ + public function CreateFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates a folder hierarchy. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\CreateFolderPathType $request + * @return \jamesiarmes\PhpEws\Response\CreateFolderPathResponseType + */ + public function CreateFolderPath($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates items in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CreateItemType $request + * @return \jamesiarmes\PhpEws\Response\CreateItemResponseType + */ + public function CreateItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates a managed folder in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\CreateManagedFolderRequestType $request + * @return \jamesiarmes\PhpEws\Response\CreateManagedFolderResponseType + */ + public function CreateManagedFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Creates a user configuration object on a folder. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\CreateUserConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\CreateUserConfigurationResponseType + */ + public function CreateUserConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Deletes file and item attachments from an existing item in the Exchange + * store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\DeleteAttachmentType $request + * @return \jamesiarmes\PhpEws\Response\DeleteAttachmentResponseType + */ + public function DeleteAttachment($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Deletes folders from a mailbox. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\DeleteFolderType $request + * @return \jamesiarmes\PhpEws\Response\DeleteFolderResponseType + */ + public function DeleteFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Deletes items in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\DeleteItemType $request + * @return \jamesiarmes\PhpEws\Response\DeleteItemResponseType + */ + public function DeleteItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Deletes a user configuration object on a folder. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\DeleteUserConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\DeleteUserConfigurationResponseType + */ + public function DeleteUserConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Disables a mail app for Outlook. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\DisableAppType $request + * @return \jamesiarmes\PhpEws\Response\DisableAppResponseType + */ + public function DisableApp($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Terminates a telephone call. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\DisconnectPhoneCallType $request + * @return \jamesiarmes\PhpEws\Response\DisconnectPhoneCallResponseMessageType + */ + public function DisconnectPhoneCall($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * 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 \jamesiarmes\PhpEws\Request\EmptyFolderType $request + * @return \jamesiarmes\PhpEws\Response\EmptyFolderResponseType + */ + public function EmptyFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Exposes the full membership of distribution lists. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\ExpandDLType $request + * @return \jamesiarmes\PhpEws\Response\ExpandDLResponseType + */ + public function ExpandDL($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Exports items out of a mailbox. + * + * @since Exchange 2010 SP1 + * + * @param \jamesiarmes\PhpEws\Request\ExportItemsType $request + * @return \jamesiarmes\PhpEws\Response\ExportItemsResponseType + */ + public function ExportItems($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Enumerates a list of conversations in a folder. + * + * @param \jamesiarmes\PhpEws\Request\FindConversationType $request + * @return \jamesiarmes\PhpEws\Response\FindConversationResponseMessageType + */ + public function FindConversation($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Finds subfolders of an identified folder and returns a set of properties + * that describe the set of subfolders. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\FindFolderType $request + * @return \jamesiarmes\PhpEws\Response\FindFolderResponseType + */ + public function FindFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Searches for items that are located in a user’s mailbox. + * + * This operation provides many ways to filter and format how search results + * are returned to the caller. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\FindItemType $request + * @return \jamesiarmes\PhpEws\Response\FindItemResponseType + */ + public function FindItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Finds messages that meet the specified criteria. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\FindMessageTrackingReportRequestType $request + * @return \jamesiarmes\PhpEws\Response\FindMessageTrackingReportResponseMessageType + */ + public function FindMessageTrackingReport($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Returns all persona objects from a specified Contacts folder or retrieves + * contacts that match a specified query string. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\FindPeopleType $request + * @return \jamesiarmes\PhpEws\Response\FindPeopleResponseMessageType + */ + public function FindPeople($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves app manifests. + * + * @since Exchange 2013 SP1 + * + * @param \jamesiarmes\PhpEws\Request\GetAppManifestsType $request + * @return \jamesiarmes\PhpEws\Response\GetAppManifestsResponseType + */ + public function GetAppManifests($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the URL for the app marketplace that a client can visit to + * acquire apps to install in a mailbox. + * + * @since Exchange 2013 SP1 + * + * @param \jamesiarmes\PhpEws\Request\GetAppMarketplaceUrl $request + * @return \jamesiarmes\PhpEws\Response\GetAppMarketplaceUrlResponseMessageType + */ + public function GetAppMarketplaceUrl($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves existing attachments on items in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetAttachmentType $request + * @return \jamesiarmes\PhpEws\Response\GetAttachmentResponseType + */ + public function GetAttachment($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Gets a client access token for a mail app for Outlook. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetClientAccessTokenType $request + * @return \jamesiarmes\PhpEws\Response\GetClientAccessTokenResponseType + */ + public function GetClientAccessToken($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves one or more sets of items that are organized in to nodes in a + * conversation. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetConversationItemsType $request + * @return \jamesiarmes\PhpEws\Response\GetConversationItemsResponseType + */ + public function GetConversationItems($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the delegate settings for a specified mailbox. + * + * @since Exchange 2007 SP1 + * + * @param \jamesiarmes\PhpEws\Request\GetDelegateType $request + * @return \jamesiarmes\PhpEws\Response\GetDelegateResponseMessageType + */ + public function GetDelegate($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Returns configuration information for in-place holds, saved discovery + * searches, and the mailboxes that are enabled for discovery search. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetDiscoverySearchConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\GetDiscoverySearchConfigurationResponseMessageType + */ + public function GetDiscoverySearchConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Used by pull subscription clients to request notifications from the + * Client Access server. + * + * The response returns an array of items and events that have occurred in a + * mailbox since the last the notification. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetEventsType $request + * @return \jamesiarmes\PhpEws\Response\GetEventsResponseType + */ + public function GetEvents($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Gets folders from the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetFolderType $request + * @return \jamesiarmes\PhpEws\Response\GetFolderResponseType + */ + public function GetFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the mailboxes that are under a specific hold and the associated + * hold query. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetHoldOnMailboxesType $request + * @return \jamesiarmes\PhpEws\Response\GetHoldOnMailboxesResponseMessageType + */ + public function GetHoldOnMailboxes($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the list of instant messaging (IM) groups and IM contact + * personas in a mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetImItemListType $request + * @return \jamesiarmes\PhpEws\Response\GetImItemListResponseMessageType + */ + public function GetImItemList($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves information about instant messaging (IM) groups and IM contact + * personas. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetImItemsType $request + * @return \jamesiarmes\PhpEws\Response\GetImItemsResponse + */ + public function GetImItems($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves Inbox rules in the identified user's mailbox. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetInboxRulesRequestType $request + * @return \jamesiarmes\PhpEws\Response\GetInboxRulesResponseType + */ + public function GetInboxRules($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Gets folders from the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetItemType $request + * @return \jamesiarmes\PhpEws\Response\GetItemResponseType + */ + public function GetItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the mail tips information for the specified mailbox. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetMailTipsType $request + * @return \jamesiarmes\PhpEws\Response\GetMailTipsResponseMessageType + */ + public function GetMailTips($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves tracking information about the specified messages. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetMessageTrackingReportRequestType $request + * @return \jamesiarmes\PhpEws\Response\GetMessageTrackingReportResponseMessageType + */ + public function GetMessageTrackingReport($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves details about items that cannot be indexed. + * + * This includes, but is not limited to, the item identifier, an error code, + * an error description, when an attempt was made to index the item, and + * additional information about the file. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetNonIndexableItemDetailsType $request + * @return \jamesiarmes\PhpEws\Response\GetNonIndexableItemDetailsResponseMessageType + */ + public function GetNonIndexableItemDetails($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the count of items that cannot be indexed in a mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetNonIndexableItemStatisticsType $request + * @return \jamesiarmes\PhpEws\Response\GetNonIndexableItemStatisticsResponseMessageType + */ + public function GetNonIndexableItemStatistics($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Provides the email account password expiration date for the current user. + * + * @since Exchange 2010 SP2 + * + * @param \jamesiarmes\PhpEws\Request\GetPasswordExpirationDateType $request + * @return \jamesiarmes\PhpEws\Response\GetPasswordExpirationDateResponseMessageType + */ + public function GetPasswordExpirationDate($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves a set of properties that are associated with a persona. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetPersonaType $request + * @return \jamesiarmes\PhpEws\Response\GetPersonaResponseMessageType + */ + public function GetPersona($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves information about the specified telephone call. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetPhoneCallInformationType $request + * @return \jamesiarmes\PhpEws\Response\GetPhoneCallInformationResponseMessageType + */ + public function GetPhoneCallInformation($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves reminders for calendar and task items. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetRemindersType $request + * @return \jamesiarmes\PhpEws\Response\GetRemindersResponseMessageType + */ + public function GetReminders($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the room lists that are available within the Exchange + * organization. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetRoomListsType $request + * @return \jamesiarmes\PhpEws\Response\GetRoomListsResponseMessageType + */ + public function GetRoomLists($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the rooms within the specified room list. + * + * @since Exchange 2010 SP1 + * + * @param \jamesiarmes\PhpEws\Request\GetRoomsType $request + * @return \jamesiarmes\PhpEws\Response\GetRoomsResponseMessageType + */ + public function GetRooms($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves a scoped set of searchable mailboxes for discovery searches. + * + * The scope of searchable mailboxes returned in the response is determined + * by the search filter and whether distribution group membership is + * expanded. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetSearchableMailboxesType $request + * @return \jamesiarmes\PhpEws\Response\GetSearchableMailboxesResponseMessageType + */ + public function GetSearchableMailboxes($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieve the timezones supported by the server. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetServerTimeZonesType $request + * @return \jamesiarmes\PhpEws\Response\GetServerTimeZonesResponseType + */ + public function GetServerTimeZones($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves configuration information for the specified type of service. + * + * This operation can return configuration settings for the Unified + * Messaging, Protection Rules, and Mail Tips services. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetServiceConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\GetServiceConfigurationResponseMessageType + */ + public function GetServiceConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves the local folder identifier of a specified shared folder. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetSharingFolderType $request + * @return \jamesiarmes\PhpEws\Response\GetSharingFolderResponseMessageType + */ + public function GetSharingFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Gets an opaque authentication token that identifies a sharing invitation. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetSharingMetadataType $request + * @return \jamesiarmes\PhpEws\Response\GetSharingMetadataResponseMessageType + */ + public function GetSharingMetadata($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Requests notifications from the Client Access server. + * + * The GetStreamingEvents response returns an array of items and events that + * have occurred in a mailbox since the last the notification. + * + * @since Exchange 2010 SP1 + * + * @param \jamesiarmes\PhpEws\Request\GetStreamingEventsType $request + * @return \jamesiarmes\PhpEws\Response\GetStreamingEventsResponseType + */ + public function GetStreamingEvents($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Provides detailed information about the availability of a set of users, + * rooms, and resources within a specified time period. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetUserAvailabilityRequestType $request + * @return \jamesiarmes\PhpEws\Response\GetUserAvailabilityResponseType + */ + public function GetUserAvailability($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves a user configuration object from a folder. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\GetUserConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\GetUserConfigurationResponseType + */ + public function GetUserConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Gets a mailbox user's Out of Office (OOF) settings and messages. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\GetUserOofSettingsRequest $request + * @return \jamesiarmes\PhpEws\Response\GetUserOofSettingsResponse + */ + public function GetUserOofSettings($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves a user photo from Active Directory Domain Services (AD DS). + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetUserPhotoType $request + * @return \jamesiarmes\PhpEws\Response\GetUserPhotoResponseMessageType + */ + public function GetUserPhoto($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Retrieves a list of all default, system folder, and personal tags that + * are associated with a user by means of a system policy or that were + * applied by the user. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\GetUserRetentionPolicyTagsType $request + * @return \jamesiarmes\PhpEws\Response\GetUserRetentionPolicyTagsResponseMessageType + */ + public function GetUserRetentionPolicyTags($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Installs a mail app for Outlook in a mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\InstallAppType $request + * @return \jamesiarmes\PhpEws\Response\InstallAppResponseType + */ + public function InstallApp($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Sets the IsRead property on all items, in one or more folders, to + * indicate that all items are either read or unread. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\MarkAllItemsAsRead $request + * @return \jamesiarmes\PhpEws\Response\MarkAllItemsAsReadResponseType + */ + public function MarkAllItemsAsRead($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Adds and removes users from the blocked email list and moves email + * messages to the Junk Email folder. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\MarkAsJunkType $request + * @return \jamesiarmes\PhpEws\Response\MarkAsJunkResponseType + */ + public function MarkAsJunk($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Moves folders from a specified folder and puts them in another folder. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\MoveFolderType $request + * @return \jamesiarmes\PhpEws\Response\MoveFolderResponseType + */ + public function MoveFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Moves one or more items to a single destination folder. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\MoveItemType $request + * @return \jamesiarmes\PhpEws\Response\MoveItemResponseType + */ + public function MoveItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Initiates a dismiss or snooze action on a reminder. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\PerformReminderActionType $request + * @return \jamesiarmes\PhpEws\Response\PerformReminderActionResponseMessageType + */ + public function PerformReminderAction($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Initiates an outbound call and plays a message over the telephone. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\PlayOnPhoneType $request + * @return \jamesiarmes\PhpEws\Response\PlayOnPhoneResponseMessageType + */ + public function PlayOnPhone($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Refreshes the specified local folder with the latest data from the folder + * that is being shared. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\RefreshSharingFolderType $request + * @return \jamesiarmes\PhpEws\Response\RefreshSharingFolderResponseMessageType + */ + public function RefreshSharingFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Removes contacts from the Lync instant messaging (IM) list when Lync uses + * Exchange for the contact store. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\RemoveContactFromImListType $request + * @return \jamesiarmes\PhpEws\Response\RemoveContactFromImListResponseMessageType + */ + public function RemoveContactFromImList($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Removes one or more delegates from a user's mailbox. + * + * @since Exchange 2007 SP1 + * + * @param \jamesiarmes\PhpEws\Request\RemoveDelegateType $request + * @return \jamesiarmes\PhpEws\Response\RemoveDelegateResponseMessageType + */ + public function RemoveDelegate($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Removes a distribution group from the Lync instant messaging (IM) list + * when Lync uses Exchange for the contact store. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\RemoveDistributionGroupFromImListType $request + * @return \jamesiarmes\PhpEws\Response\RemoveDistributionGroupFromImListResponseMessageType + */ + public function RemoveDistributionGroupFromImList($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Removes a single IM contact from an IM group. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\RemoveImContactFromGroupType $request + * @return \jamesiarmes\PhpEws\Response\RemoveImContactFromGroupResponseMessageType + */ + public function RemoveImContactFromGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Removes a single instant messaging (IM) group from a mailbox. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\RemoveImGroupType $request + * @return \jamesiarmes\PhpEws\Response\RemoveImGroupResponseMessageType + */ + public function RemoveImGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Resolves ambiguous email addresses and display names. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\ResolveNamesType $request + * @return \jamesiarmes\PhpEws\Response\ResolveNamesResponseType + */ + public function ResolveNames($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Searches mailboxes for occurrences of terms in mailbox items. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\SearchMailboxesType $request + * @return \jamesiarmes\PhpEws\Response\SearchMailboxesResponseType + */ + public function SearchMailboxes($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Sends e-mail messages that are located in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\SendItemType $request + * @return \jamesiarmes\PhpEws\Response\SendItemResponseType + */ + public function SendItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Sets a mailbox hold policy on mailboxes. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\SetHoldOnMailboxesType $request + * @return \jamesiarmes\PhpEws\Response\SetHoldOnMailboxesResponseMessageType + */ + public function SetHoldOnMailboxes($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Changes the display name of an instant messaging (IM) group. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\SetImGroupType $request + * @return \jamesiarmes\PhpEws\Response\SetImGroupResponseMessageType + */ + public function SetImGroup($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Sets a mailbox user's Out of Office (OOF) settings and message. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\SetUserOofSettingsRequest $request + * @return \jamesiarmes\PhpEws\Response\SetUserOofSettingsResponse + */ + public function SetUserOofSettings($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Subscribes client applications to either push or pull notifications. + * + * It is important to be aware that the structure of the request messages + * and responses is different depending on the type of event notification. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\SubscribeType $request + * @return \jamesiarmes\PhpEws\Response\SubscribeResponseType + */ + public function Subscribe($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Synchronizes folders between the computer that is running Microsoft + * Exchange Server and the client. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\SyncFolderHierarchyType $request + * @return \jamesiarmes\PhpEws\Response\SyncFolderHierarchyResponseType + */ + public function SyncFolderHierarchy($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Synchronizes items between the Exchange server and the client. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\SyncFolderItemsType $request + * @return \jamesiarmes\PhpEws\Response\SyncFolderItemsResponseType + */ + public function SyncFolderItems($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Uninstalls a mail app for Outlook. + * + * @since Exchange 2013 + * + * @param \jamesiarmes\PhpEws\Request\UninstallAppType $request + * @return \jamesiarmes\PhpEws\Response\UninstallAppResponseType + */ + public function UninstallApp($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Ends a pull notification subscription. + * + * Use this operation rather than letting a subscription timeout. This + * operation is only valid for pull notifications. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\UnsubscribeType $request + * @return \jamesiarmes\PhpEws\Response\UnsubscribeResponseType + */ + public function Unsubscribe($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Updates delegate permissions on a principal's mailbox. + * + * @since Exchange 2007 SP1 + * + * @param \jamesiarmes\PhpEws\Request\UpdateDelegateType $request + * @return \jamesiarmes\PhpEws\Response\UpdateDelegateResponseMessageType + */ + public function UpdateDelegate($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Modifies properties of an existing item in the Exchange store. + * + * Each UpdateFolder operation consists of the following: + * - A FolderId element that specifies a folder to update. + * - An internal path of an element in the folder, as specified by the + * folder shape, which specifies the data to update. + * - A folder that contains the new value of the updated field, if the + * update is not a deletion. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\UpdateFolderType $request + * @return \jamesiarmes\PhpEws\Response\UpdateFolderResponseType + */ + public function UpdateFolder($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Updates the authenticated user's Inbox rules by applying the specified + * operations. + * + * This operation is used to create an Inbox rule, to set an Inbox rule, or + * to delete an Inbox rule. + * + * @since Exchange 2010 SP1 + * + * @param \jamesiarmes\PhpEws\Request\UpdateInboxRulesRequestType $request + * @return \jamesiarmes\PhpEws\Response\UpdateInboxRulesResponseType + */ + public function UpdateInboxRules($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Used to modify the properties of an existing item in the Exchange store. + * + * @since Exchange 2007 + * + * @param \jamesiarmes\PhpEws\Request\UpdateItemType $request + * @return \jamesiarmes\PhpEws\Response\UpdateItemResponseType + */ + public function UpdateItem($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Updates a user configuration object on a folder. + * + * @since Exchange 2010 + * + * @param \jamesiarmes\PhpEws\Request\UpdateUserConfigurationType $request + * @return \jamesiarmes\PhpEws\Response\UpdateUserConfigurationResponseType + */ + public function UpdateUserConfiguration($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Uploads a stream of items into an Exchange mailbox. + * + * @since Exchange 2010 SP1 + * + * @param \jamesiarmes\PhpEws\Request\UploadItemsType $request + * @return \jamesiarmes\PhpEws\Response\UploadItemsResponseType + */ + public function UploadItems($request) + { + return $this->makeRequest(__FUNCTION__, $request); + } + + /** + * Initializes the SoapClient object to make a request + * + * @return \jamesiarmes\PhpNtlm\SoapClient + */ + protected function initializeSoapClient() + { + $this->soap = new SoapClient( + dirname(__FILE__) . '/assets/services.wsdl', + array( + 'user' => $this->username, + 'password' => $this->password, + 'location' => 'https://' . $this->server . '/EWS/Exchange.asmx', + 'classmap' => ClassMap::getMap(), + 'curlopts' => $this->curl_options, + 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, + ) + ); + + return $this->soap; + } + + /** + * Makes the SOAP call for a request. + * + * @param string $operation + * The operation to be called. + * @param \jamesiarmes\PhpEws\Request $request + * The request object for the operation. + * @return \jamesiarmes\PhpEws\Response + * The response object for the operation. + */ + protected function makeRequest($operation, $request) + { + $this->getClient()->__setSoapHeaders($this->soapHeaders()); + $response = $this->soap->{$operation}($request); + + return $this->processResponse($response); + } + + /** + * Process a response to verify that it succeeded and take the appropriate + * action + * + * @throws \Exception + * + * @param \stdClass $response + * @return \stdClass + */ + protected function processResponse($response) + { + // If the soap call failed then we need to throw an exception. + $code = $this->soap->getResponseCode(); + if ($code != 200) { + throw new \Exception( + "SOAP client returned status of $code.", + $code + ); + } + + return $response; + } + + /** + * Builds the soap headers to be included with the request. + * + * @return \SoapHeader[] + */ + protected function soapHeaders() + { + // If the headers have already been built, no need to do so again. + if (!empty($this->headers)) { + return $this->headers; + } + + $this->headers = array(); + + // Set the schema version. + $this->headers[] = new \SoapHeader( + 'http://schemas.microsoft.com/exchange/services/2006/types', + 'RequestServerVersion Version="' . $this->version . '"' + ); + + // If impersonation was set then add it to the headers. + if (!empty($this->impersonation)) { + $this->headers[] = new \SoapHeader( + 'http://schemas.microsoft.com/exchange/services/2006/types', + 'ExchangeImpersonation', + $this->impersonation + ); + } + + if (!empty($this->timezone)) { + $this->headers[] = new \SoapHeader( + 'http://schemas.microsoft.com/exchange/services/2006/types', + 'TimeZoneContext', + array( + 'TimeZoneDefinition' => array( + 'Id' => $this->timezone, + ) + ) + ); + } + + return $this->headers; + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration.php new file mode 100644 index 00000000..8b9ad583 --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration.php @@ -0,0 +1,36 @@ +_; + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php new file mode 100644 index 00000000..d95cdadd --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php @@ -0,0 +1,84 @@ + 0 and < 2083. + * - Protocol is http or https. + * - The URL can be parsed by the URI Microsoft .NET Framework class. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_PUSH_SUBSCRIPTION_URL = 'ErrorInvalidPushSubscriptionUrl'; + + /** + * This error indicates that the search folder has a recipient table filter + * that Exchange Web Services cannot represent. + * + * To get around this error, retrieve the folder without requesting the + * search parameters. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECIPIENT_SUBFILTER = 'ErrorInvalidRecipientSubfilter'; + + /** + * This error indicates that the search folder has a recipient table filter + * that Exchange Web Services cannot represent. + * + * To get around this error, retrieve the folder without requesting the + * search parameters. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECIPIENT_SUBFILTER_COMPARISON = 'ErrorInvalidRecipientSubfilterComparison'; + + /** + * This error indicates that the search folder has a recipient table filter + * that Exchange Web Services cannot represent. + * + * To get around this error, retrieve the folder without requesting the + * search parameters. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECIPIENT_SUBFILTER_ORDER = 'ErrorInvalidRecipientSubfilterOrder'; + + /** + * This error indicates that the search folder has a recipient table filter + * that Exchange Web Services cannot represent. + * + * To get around this error, retrieve the folder without requesting the + * search parameters. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECIPIENT_SUBFILTER_TEXT_FILTER = 'ErrorInvalidRecipientSubfilterTextFilter'; + + /** + * This error indicates that the recipient collection on your message or the + * attendee collection on your calendar item is invalid. + * + * For example, this error will be returned when an attempt is made to send + * an item that has no recipients. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECIPIENTS = 'ErrorInvalidRecipients'; + + /** + * This error occurs when the specified recurrence cannot be created. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RECURRENCE = 'ErrorCalendarInvalidRecurrence'; + + /** + * This error is returned from the CreateItem Operation for Forward and + * Reply response objects when the referenced item is invalid. + * + * For example, this error may be returned in any of the following + * circumstances: + * - The referenced item identifier is not a Message, a CalendarItem, or a + * descendant of a Message or CalendarItem. + * - The reference item identifier is for a CalendarItem and the organizer + * is trying to Reply or ReplyAll to himself. + * - The message is a draft and Reply or ReplyAll is selected. + * - The reference item, for SuppressReadReceipt, is not a Message or a + * descendant of a Message. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_REFERENCE_ITEM = 'ErrorInvalidReferenceItem'; + + /** + * This error occurs when the SOAP request has a SOAP action header, but + * nothing in the SOAP body. + * + * Note that the SOAP Action header is not required as Exchange Web Services + * can determine the method to call from the local name of the root element + * in the SOAP body. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_REQUEST = 'ErrorInvalidRequest'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_RESTRICTION = 'ErrorInvalidRestriction'; + + /** + * Indicates that the retention tag GUID was invalid. + * + * @since Exchange 2013 + * + * @var string + */ + const INVALID_RETENTION_TAG_ID_GUID = 'ErrorInvalidRetentionTagIdGuid'; + + /** + * This error is returned when an attempt is made to set an implicit tag on + * the PolicyTag property. + * + * @since Exchange 2013 + * + * @var string + */ + const INVALID_RETENTION_TAG_INHERITANCE = 'ErrorInvalidRetentionTagInheritance'; + + /** + * This error is returned when an attempt is made to set a nonexistent or + * invisible tag on a PolicyTag property. + * + * @since Exchange 2013 + * + * @var string + */ + const INVALID_RETENTION_TAG_INVISIBLE = 'ErrorInvalidRetentionTagInvisible'; + + /** + * This error indicates that no retention tags were found for this user. + * + * @since Exchange 2013 + * + * @var string + */ + const INVALID_RETENTION_TAG_NONE = 'ErrorInvalidRetentionTagNone'; + + /** + * This error is returned when the specified retention tag has an incorrect + * action associated with it. + * + * @since Exchange 2013 + * + * @var string + */ + const INVALID_RETENTION_TAG_TYPE_MISMATCH = 'ErrorInvalidRetentionTagTypeMismatch'; + + /** + * This error occurs if the routing type that is passed for an + * EmailAddressType is invalid. + * + * Typically, the routing type is set to Simple Mail Transfer Protocol + * (SMTP). + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_ROUTING_TYPE = 'ErrorInvalidRoutingType'; + + /** + * This error occurs if the specified duration end time is not greater than + * the start time, or if the end time does not occur in the future. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SCHEDULED_OOF_DURATION = 'ErrorInvalidScheduledOofDuration'; + + /** + * This error indicates that a proxy request that was sent to another server + * is not able to service the request due to a versioning mismatch. + * + * @since Exchange 2010 + * + * @var string + */ + const INVALID_SCHEMA_VERSION_FOR_MAILBOX_VERSION = 'ErrorInvalidSchemaVersionForMailboxVersion'; + + /** + * This error indicates that the Exchange security descriptor on the + * Calendar folder in the store is corrupted. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SECURITY_DESCRIPTOR = 'ErrorInvalidSecurityDescriptor'; + + /** + * This error occurs during an attempt to send an item where the + * SavedItemFolderId is specified in the request but the SaveItemToFolder + * property is set to false. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SEND_ITEM_SAVE_SETTINGS = 'ErrorInvalidSendItemSaveSettings'; + + /** + * This error indicates that the token that was passed in the header is + * malformed, does not refer to a valid account in the directory, or is + * missing the primary group ConnectingSID. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SERIALIZED_ACCESS_TOKEN = 'ErrorInvalidSerializedAccessToken'; + + /** + * This error indicates that an invalid request server version was specified + * in the request. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SERVER_VERSION = 'ErrorInvalidServerVersion'; + + /** + * This error indicates that the sharing metadata is not valid. + * + * This can be caused by invalid XML. + * + * @since Exchange 2010 + * + * @var string + */ + const INVALID_SHARING_DATA = 'ErrorInvalidSharingData'; + + /** + * This error indicates that the sharing message is not valid. + * + * This can be caused by a missing property. + * + * @since Exchange 2010 + * + * @var string + */ + const INVALID_SHARING_MESSAGE = 'ErrorInvalidSharingMessage'; + + /** + * This error occurs when an invalid SID is passed in a request. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SID = 'ErrorInvalidSid'; + + /** + * This error indicates that the SIP name, dial plan, or the phone number + * are invalid SIP URI. + * + * @since Exchange 2010 + * + * @var string + */ + const INVALID_SIP_URI = 'ErrorInvalidSIPUri'; + + /** + * This error occurs when the SMTP address cannot be parsed. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SMTP_ADDRESS = 'ErrorInvalidSmtpAddress'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SUBFILTER_TYPE = 'ErrorInvalidSubfilterType'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SUBFILTER_TYPE_NOT_ATTENDEE_TYPE = 'ErrorInvalidSubfilterTypeNotAttendeeType'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SUBFILTER_TYPE_NOT_RECIPIENT_TYPE = 'ErrorInvalidSubfilterTypeNotRecipientType'; + + /** + * This error indicates that the subscription is no longer valid. + * + * This could be because the Client Access server is restarting or because + * the subscription is expired. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SUBSCRIPTION = 'ErrorInvalidSubscription'; + + /** + * This error indicates that the subscribe request included multiple public + * folder IDs. + * + * A subscription can include multiple folders from the same mailbox or one + * public folder ID. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SUBSCRIPTION_REQUEST = 'ErrorInvalidSubscriptionRequest'; + + /** + * This error is returned by SyncFolderItems or SyncFolderHierarchy if the + * SyncState data that is passed is invalid. + * + * To fix this error, you must resynchronize without the sync state. Make + * sure that if you are persisting sync state BLOBs, you are not + * accidentally truncating the BLOB. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_SYNC_STATE_DATA = 'ErrorInvalidSyncStateData'; + + /** + * This error indicates that the specified time interval is invalid. + * + * The start time must be greater than or equal to the end time. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_TIME_INTERVAL = 'ErrorInvalidTimeInterval'; + + /** + * This error occurs when an invalid time zone is encountered. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_TIMEZONE = 'ErrorCalendarInvalidTimeZone'; + + /** + * This error indicates that an internally inconsistent UserId was specified + * for a permissions operation. + * + * For example, if a distinguished user ID is specified (Default or + * Anonymous), this error is returned if you also try to specify a SID, or + * primary SMTP address or display name for this user. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_USER_INFO = 'ErrorInvalidUserInfo'; + + /** + * This error indicates that the user Out of Office (OOF) settings are + * invalid because of a missing internal or external reply. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_USER_OOF_SETTINGS = 'ErrorInvalidUserOofSettings'; + + /** + * This error occurs during Exchange Impersonation. + * + * The caller passed in an invalid UPN in the SOAP header that was not + * accessible in the directory. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_USER_PRINCIPAL_NAME = 'ErrorInvalidUserPrincipalName'; + + /** + * This error occurs when an invalid SID is passed in a request. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_USER_SID = 'ErrorInvalidUserSid'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_USER_SID_MISSING_UPN = 'ErrorInvalidUserSidMissingUPN'; + + /** + * This error indicates that the comparison value in the restriction is + * invalid for the property you are comparing against. + * + * For example, the comparison value of DateTimeCreated > true would return + * this response code. This response code is also returned if you specify an + * enumeration property in the comparison, but the value that you are + * comparing against is not a valid value for that enumeration. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_VALUE_FOR_PROPERTY = 'ErrorInvalidValueForProperty'; + + /** + * This error is caused by an invalid watermark. + * + * @since Exchange 2007 + * + * @var string + */ + const INVALID_WATERMARK = 'ErrorInvalidWatermark'; + + /** + * This error indicates that a valid VoIP gateway is not available. + * + * @since Exchange 2010 + * + * @var string + */ + const IP_GATEWAY_NOT_FOUND = 'ErrorIPGatewayNotFound'; + + /** + * This error indicates that conflict resolution was unable to resolve + * changes for the properties. + * + * The items in the store may have been changed and have to be updated. + * Retrieve the updated change key and try again. + * + * @since Exchange 2007 + * + * @var string + */ + const IRRESOLVABLE_CONFLICT = 'ErrorIrresolvableConflict'; + + /** + * This error indicates that the AcceptItem element is invalid for a + * calendar item that has been cancelled. + * + * @since Exchange 2010 + * + * @var string + */ + const ITEM_CANCELLED_FOR_ACCEPT = 'ErrorCalendarIsCancelledForAccept'; + + /** + * This error indicates that the DeclineItem element is invalid for a + * calendar item that has been cancelled. + * + * @since Exchange 2010 + * + * @var string + */ + const ITEM_CANCELLED_FOR_DECLINE = 'ErrorCalendarIsCancelledForDecline'; + + /** + * This error indicates that the RemoveItem element is invalid for a + * calendar item that has been cancelled. + * + * @since Exchange 2010 + * + * @var string + */ + const ITEM_CANCELLED_FOR_REMOVE = 'ErrorCalendarIsCancelledForRemove'; + + /** + * This error indicates that the TentativelyAcceptItem element is invalid + * for a calendar item that has been cancelled. + * + * @since Exchange 2010 + * + * @var string + */ + const ITEM_CANCELLED_FOR_TENTATIVE = 'ErrorCalendarIsCancelledForTentative'; + + /** + * This error indicates that the state of the object is corrupted and cannot + * be retrieved. + * + * When you are retrieving an item, only certain properties will be in this + * state, such as Body and MimeContent. Omit these properties and retry the + * operation. + * + * @since Exchange 2007 + * + * @var string + */ + const ITEM_CORRUPT = 'ErrorItemCorrupt'; + + /** + * This error indicates that the AcceptItem element is invalid for a + * calendar item or meeting request in a delegated scenario. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const ITEM_DELEGATED_FOR_ACCEPT = 'ErrorCalendarIsDelegatedForAccept'; + + /** + * This error indicates that the DeclineItem element is invalid for a + * calendar item or meeting request in a delegated scenario. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const ITEM_DELEGATED_FOR_DECLINE = 'ErrorCalendarIsDelegatedForDecline'; + + /** + * This error indicates that the RemoveItem element is invalid for a meeting + * cancellation in a delegated scenario. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const ITEM_DELEGATED_FOR_REMOVE = 'ErrorCalendarIsDelegatedForRemove'; + + /** + * This error indicates that the TentativelyAcceptItem element is invalid + * for a calendar item or meeting request in a delegated scenario. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const ITEM_DELEGATED_FOR_TENTATIVE = 'ErrorCalendarIsDelegatedForTentative'; + + /** + * This error occurs when the item was not found or you do not have + * permission to access the item. + * + * @since Exchange 2007 + * + * @var string + */ + const ITEM_NOT_FOUND = 'ErrorItemNotFound'; + + /** + * This error occurs if a property request on an item fails. The property + * may exist, but it could not be retrieved. + * + * @since Exchange 2007 + * + * @var string + */ + const ITEM_PROPERTY_REQUEST_FAILED = 'ErrorItemPropertyRequestFailed'; + + /** + * This error occurs when attempts to save the item or folder fail. + * + * @since Exchange 2007 + * + * @var string + */ + const ITEM_SAVE = 'ErrorItemSave'; + + /** + * This error occurs when attempts to save the item or folder fail because + * of invalid property values. + * + * The response code includes the path of the invalid properties. + * + * @since Exchange 2007 + * + * @var string + */ + const ITEM_SAVE_PROPERTY_ERROR = 'ErrorItemSavePropertyError'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const LEGACY_MAILBOX_FREE_BUSY_VIEW_TYPE_NOT_MERGED = 'ErrorLegacyMailboxFreeBusyViewTypeNotMerged'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const LOCAL_SERVER_OBJECT_NOT_FOUND = 'ErrorLocalServerObjectNotFound'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const LOCATION_SERVICES_DISABLED = 'ErrorLocationServicesDisabled'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const LOCATION_SERVICES_INVALID_REQUEST = 'ErrorLocationServicesInvalidRequest'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const LOCATION_SERVICES_REQUEST_FAILED = 'ErrorLocationServicesRequestFailed'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const LOCATION_SERVICES_REQUEST_TIMED_OUT = 'ErrorLocationServicesRequestTimedOut'; + + /** + * This error indicates that the Availability service was unable to log on + * as the network service to proxy requests to the appropriate sites or + * forests. + * + * This response typically indicates a configuration error. + * + * @since Exchange 2007 + * + * @var string + */ + const LOGON_AS_NETWORK_SERVICE_FAILED = 'ErrorLogonAsNetworkServiceFailed'; + + /** + * This error occurs if the MailboxData information cannot be mapped to a + * valid mailbox account. + * + * @since Exchange 2007 + * + * @var string + */ + const MAIL_RECIPIENT_NOT_FOUND = 'ErrorMailRecipientNotFound'; + + /** + * This error indicates that mail tips are disabled. + * + * @since Exchange 2010 + * + * @var string + */ + const MAIL_TIPS_DISABLED = 'ErrorMailTipsDisabled'; + + /** + * This error indicates that the mailbox information in AD DS is configured + * incorrectly. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_CONFIGURATION_ERROR = 'ErrorMailboxConfiguration'; + + /** + * This error indicates that the MailboxDataArray property in the request is + * empty. + * + * You must supply at least one mailbox identifier. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_DATA_ARRAY_EMPTY = 'ErrorMailboxDataArrayEmpty'; + + /** + * This error occurs when more than 100 entries are supplied in a + * MailboxDataArray. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_DATA_ARRAY_TOO_BIG = 'ErrorMailboxDataArrayTooBig'; + + /** + * This error indicates that an attempt to access a mailbox failed because + * the mailbox is in a failover process. + * + * @since Exchange 2010 + * + * @var string + */ + const MAILBOX_FAILOVER = 'ErrorMailboxFailover'; + + /** + * Indicates that the mailbox hold was not found. + * + * @since Exchange 2013 + * + * @var string + */ + const MAILBOX_HOLD_NOT_FOUND = 'ErrorMailboxHoldNotFound'; + + /** + * This error occurs when the connection to the mailbox to get the calendar + * view information failed. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_LOGON_FAILED = 'ErrorMailboxLogonFailed'; + + /** + * This error indicates that the mailbox is being moved to a different + * mailbox store or server. + * + * This error can also indicate that the mailbox is on another server or + * mailbox database. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_MOVE_IN_PROGRESS = 'ErrorMailboxMoveInProgress'; + + /** + * This error is returned when a scoped search attempt is performed without + * using a QueryString (QueryStringType) element for a content indexing + * search. + * + * This is applicable to the SearchMailboxes and FindConversation + * operations. + * + * @since Exchange 2013 + * + * @var string + */ + const MAILBOX_SCOPE_NOT_ALLOWED_WITHOUT_QUERY_STRING = 'ErrorMailboxScopeNotAllowedWithoutQueryString'; + + /** + * This error indicates that the mailbox store is unavailable for one of + * several reasons. + * + * These reasons include: + * - The mailbox store is corrupt. + * - The mailbox store is being stopped. + * - The mailbox store is offline. + * - A network error occurred when an attempt was made to access the mailbox + * store. + * - The mailbox store is overloaded and cannot accept any more connections. + * - The mailbox store has been paused. + * + * @since Exchange 2007 + * + * @var string + */ + const MAILBOX_STORE_UNAVAILABLE = 'ErrorMailboxStoreUnavailable'; + + /** + * This error occurs when the caller specifies an Id attribute that is + * malformed. + * + * @since Exchange 2007 + * + * @var string + */ + const MALFORMED_ID = 'ErrorInvalidIdMalformed'; + + /** + * This error occurs if the managed folder that you are trying to create + * already exists in a mailbox. + * + * @since Exchange 2007 + * + * @var string + */ + const MANAGED_FOLDER_ALREADY_EXISTS = 'ErrorManagedFolderAlreadyExists'; + + /** + * This error occurs when the folder name that was specified in the request + * does not map to a managed folder definition in AD DS. + * + * You can only create instances of managed folders for folders that are + * defined in AD DS. Check the name and try again. + * + * @since Exchange 2007 + * + * @var string + */ + const MANAGED_FOLDER_NOT_FOUND = 'ErrorManagedFolderNotFound'; + + /** + * This error indicates that the managed folders root was deleted from the + * mailbox or that a folder exists in the same parent folder that has the + * name of the managed folder root. + * + * This will also occur if the attempt to create the root managed folder + * fails. + * + * @since Exchange 2007 + * + * @var string + */ + const MANAGED_FOLDERS_ROOT_FAILURE = 'ErrorManagedFoldersRootFailure'; + + /** + * This error indicates that a meeting request is out-of-date and cannot be + * updated. + * + * @since Exchange 2007 + * + * @var string + */ + const MEETING_REQUEST_OUT_OF_DATE = 'ErrorCalendarMeetingRequestIsOutOfDate'; + + /** + * This error indicates that the suggestions engine encountered a problem + * when it was trying to generate the suggestions. + * + * @since Exchange 2007 + * + * @var string + */ + const MEETING_SUGGESTION_GENERATION_FAILED = 'ErrorMeetingSuggestionGenerationFailed'; + + /** + * This error occurs if the MessageDisposition attribute is not set. + * + * This attribute is required for the following: + * - The CreateItem Operation and the UpdateItem Operation when the item + * being created or updated is a Message. + * - CancelCalendarItem, AcceptItem, DeclineItem, or TentativelyAcceptItem + * response objects. + * + * @since Exchange 2007 + * + * @var string + */ + const MESSAGE_DISPOSITION_REQUIRED = 'ErrorMessageDispositionRequired'; + + /** + * This error indicates that the message that you are trying to send exceeds + * the allowed limits. + * + * @since Exchange 2007 + * + * @var string + */ + const MESSAGE_SIZE_EXCEEDED = 'ErrorMessageSizeExceeded'; + + /** + * This error indicates that the given domain cannot be found. + * + * @since Exchange 2010 + * + * @var string + */ + const MESSAGE_TRACKING_NO_SUCH_DOMAIN = 'ErrorMessageTrackingNoSuchDomain'; + + /** + * This error indicates that the message tracking service cannot track the + * message. + * + * @since Exchange 2010 + * + * @var string + */ + const MESSAGE_TRACKING_PERMANENT_ERROR = 'ErrorMessageTrackingPermanentError'; + + /** + * This error indicates that the message tracking service is either down or + * busy. + * + * This error code indicates a transient error. Clients can retry to connect + * to the server when this error is received. + * + * @since Exchange 2010 + * + * @var string + */ + const MESSAGE_TRACKING_TRANSIENT_ERROR = 'ErrorMessageTrackingTransientError'; + + /** + * This error occurs when the MIME content is not a valid iCal for a + * CreateItem Operation. + * + * For a GetItem Operation, this response indicates that the MIME content + * could not be generated. + * + * @since Exchange 2007 + * + * @var string + */ + const MIME_CONTENT_CONVERSATION_FAILED = 'ErrorMimeContentConversionFailed'; + + /** + * This error occurs when the MIME content is invalid. + * + * @since Exchange 2007 + * + * @var string + */ + const MIME_CONTENT_INVALID = 'ErrorMimeContentInvalid'; + + /** + * This error occurs when the MIME content in the request is not a valid + * base 64 string. + * + * @since Exchange 2007 + * + * @var string + */ + const MIME_CONTENT_INVALID_BASE_64_STRING = 'ErrorMimeContentInvalidBase64String'; + + /** + * This error MUST be returned when event notifications are missed. + * + * @since Exchange 2010 + * + * @var string + */ + const MISSED_NOTIFICATION_EVENTS = 'ErrorMissedNotificationEvents'; + + /** + * This error indicates that a required argument was missing from the + * request. + * + * The response message text indicates which argument to check. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_ARGUMENT = 'ErrorMissingArgument'; + + /** + * This error indicates that you specified a distinguished folder ID in the + * request, but the account that made the request does not have a mailbox on + * the system. + * + * In that case, you must supply a Mailbox sub-element under + * DistinguishedFolderId. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_EMAIL_ADDRESS = 'ErrorMissingEmailAddress'; + + /** + * This error indicates that you specified a distinguished folder ID in the + * request, but the account that made the request does not have a mailbox on + * the system. + * + * In that case, you must supply a Mailbox sub-element under + * DistinguishedFolderId. This response is returned from the + * CreateManagedFolder Operation. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_EMAIL_ADDRESS_FOR_MANAGED_FOLDER = 'ErrorMissingEmailAddressForManagedFolder'; + + /** + * This error occurs if the EmailAddress element is missing. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_INFORMATION_EMAIL_ADDRESS = 'ErrorMissingInformationEmailAddress'; + + /** + * This error occurs if the ReferenceItemId is missing. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_INFORMATION_REFERENCE_ITEM_ID = 'ErrorMissingInformationReferenceItemId'; + + /** + * This error code is never returned. + * + * @since Exchange 2010 + * + * @var string + */ + const MISSING_INFORMATION_SHARING_FOLDER_ID = 'ErrorMissingInformationSharingFolderId'; + + /** + * This error is returned when an attempt is made to not include the item + * element in the ItemAttachment element of a CreateAttachment Operation + * request. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_ITEM_FOR_CREATE_ITEM_ATTACHMENT = 'ErrorMissingItemForCreateItemAttachment'; + + /** + * This error occurs when the policy IDs property, property tag 0x6732, for + * the folder is missing. + * + * You should consider this a corrupted folder. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_MANAGED_FOLDER_ID = 'ErrorMissingManagedFolderId'; + + /** + * This error indicates that you tried to send an item without including + * recipients. + * + * Note that if you call the CreateItem Operation with a message disposition + * that causes the message to be sent, you will get the following response + * code: ErrorInvalidRecipients. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_RECIPIENTS = 'ErrorMissingRecipients'; + + /** + * This error indicates that a UserId has not been fully specified in a + * permissions set. + * + * @since Exchange 2007 + * + * @var string + */ + const MISSING_USER_ID_INFORMATION = 'ErrorMissingUserIdInformation'; + + /** + * This error indicates that you have specified more than one + * ExchangeImpersonation property value within a request. + * + * @since Exchange 2007 + * + * @var string + */ + const MORE_THAN_ONE_ACCESS_MODE_SPECIFIED = 'ErrorMoreThanOneAccessModeSpecified'; + + /** + * This error indicates that the move or copy operation failed. + * + * Moving occurs in the CreateItem Operation when you accept a meeting + * request that is in the Deleted Items folder. In addition, if you decline + * a meeting request, cancel a calendar item, or remove a meeting from your + * calendar, it is moved to the Deleted Items folder. + * + * @since Exchange 2007 + * + * @var string + */ + const MOVE_COPY_FAILED = 'ErrorMoveCopyFailed'; + + /** + * This error occurs if you try to move a distinguished folder. + * + * @since Exchange 2007 + * + * @var string + */ + const MOVE_DISTINGUISHED_FOLDER = 'ErrorMoveDistinguishedFolder'; + + /** + * This error occurs when a request attempts to access multiple mailbox + * servers. + * + * @since Exchange 2013 + * + * @var string + */ + const MULTI_LEGACY_MAILBOX_ACCESS = 'ErrorMultiLegacyMailboxAccess'; + + /** + * This error occurs if the ResolveNames Operation returns more than one + * result or the ambiguous name that you specified matches more than one + * object in the directory. + * + * The response code includes the matched names in the response data. + * + * @since Exchange 2007 + * + * @var string + */ + const NAME_RESOLUTION_MULTIPLE_RESULTS = 'ErrorNameResolutionMultipleResults'; + + /** + * This error indicates that the caller does not have a mailbox on the + * system. + * + * The ResolveNames Operation or ExpandDL Operation is invalid for + * connecting a user without a mailbox. + * + * @since Exchange 2007 + * + * @var string + */ + const NAME_RESOLUTION_NO_MAILBOX = 'ErrorNameResolutionNoMailbox'; + + /** + * This error indicates that the ResolveNames Operation returns no results. + * + * @since Exchange 2007 + * + * @var string + */ + const NAME_RESOLUTION_NO_RESULTS = 'ErrorNameResolutionNoResults'; + + /** + * This error MUST be returned to the first subscription connection if a + * second subscription connection is opened. + * + * @since Exchange 2010 + * + * @var string + */ + const NEW_EVENT_STREAM_CONNECTION_OPENED = 'ErrorNewEventStreamConnectionOpened'; + + /** + * This error code MUST be returned when the Web service cannot find a + * server to handle the request. + * + * @since Exchange 2010 + * + * @var string + */ + const NO_APPLICABLE_PROXY_CAS_SERVERS_AVAILABLE = 'ErrorNoApplicableProxyCASServersAvailable'; + + /** + * This error occurs if there is no Calendar folder for the mailbox. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_CALENDAR = 'ErrorNoCalendar'; + + /** + * This error indicates that the request referred to a mailbox in another + * Active Directory site, but no Client Access servers in the destination + * site were configured for Windows Authentication, and therefore the + * request could not be proxied. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_DESTINATION_CAS_DUE_TO_KERBEROS_REQUIREMENTS = 'ErrorNoDestinationCASDueToKerberosRequirements'; + + /** + * This error indicates that the request referred to a mailbox in another + * Active Directory site, but no Client Access servers in the destination + * site were configured for SSL connections, and therefore the request could + * not be proxied. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_DESTINATION_CAS_DUE_TO_SSL_REQUIREMENTS = 'ErrorNoDestinationCASDueToSSLRequirements'; + + /** + * This error indicates that the request referred to a mailbox in another + * Active Directory site, but no Client Access servers in the destination + * site were of an acceptable product version to receive the request, and + * therefore the request could not be proxied. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_DESTINATION_CAS_DUE_TO_VERSION_MISMATCH = 'ErrorNoDestinationCASDueToVersionMismatch'; + + /** + * No error occurred for the request. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_ERROR = 'NoError'; + + /** + * This error indicates that the caller tried to grant permissions in its + * calendar or contacts folder to a user in another organization, and the + * attempt failed. + * + * @since Exchange 2010 + * + * @var string + */ + const NO_EXTERNAL_SHARING_ALLOWED_BY_POLICY = 'ErrorNotAllowedExternalSharingByPolicy'; + + /** + * This error occurs if you set the FolderClass property when you are + * creating an item other than a generic folder. + * + * For typed folders such as CalendarFolderType and TasksFolderType, the + * folder class is implied. Setting the folder class to a different folder + * type by using the UpdateFolder Operation results in the + * ErrorObjectTypeChanged response. Instead, use a generic folder type but + * set the folder class to the value that you require. Exchange Web Services + * will create the correct strongly typed folder. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_FOLDER_CLASS_OVERRIDE = 'ErrorNoFolderClassOverride'; + + /** + * This error indicates that the caller does not have free/busy viewing + * rights on the Calendar folder in question. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_FREE_BUSY_ACCESS = 'ErrorNoFreeBusyAccess'; + + /** + * This error indicates that MAPI properties in the custom range, 0x8000 and + * greater, cannot be referenced by property tags. + * + * You must use the PropertySetId property or the DistinguishedPropertySetId + * property together with the PropertyName or PropertyId properties. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_PROPERTY_TAG_FOR_CUSTOM_PROPERTIES = 'ErrorNoPropertyTagForCustomProperties'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_PUBLIC_FOLDER_REPLICA_AVAILABLE = 'ErrorNoPublicFolderReplicaAvailable'; + + /** + * This error code MUST be returned if no public folder server is available + * or if the caller does not have a home public server. + * + * @since Exchange 2010 + * + * @var string + */ + const NO_PUBLIC_FOLDER_SERVER_AVAILABLE = 'ErrorNoPublicFolderServerAvailable'; + + /** + * This error indicates that the request referred to a mailbox in another + * Active Directory site, but none of the Client Access servers in that site + * responded, and therefore the request could not be proxied. + * + * @since Exchange 2007 + * + * @var string + */ + const NO_RESPONDING_CAS_IN_DESTINATION_SITE = 'ErrorNoRespondingCASInDestinationSite'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const NO_SPEECH_DETECTED = 'ErrorNoSpeechDetected'; + + /** + * This error occurs when a mailbox could not be found for an email address. + * + * This error occurs in the following scenarios: + * - The e-mail address is empty in CreateManagedFolder. + * - The e-mail address does not refer to a valid account in a request that + * takes an e-mail address in the body or in the SOAP header, such as in an + * Exchange Impersonation call. + * + * @since Exchange 2007 + * + * @var string + */ + const NON_EXISTENT_MAILBOX = 'ErrorNonExistentMailbox'; + + /** + * This error occurs when a caller passes in a non-primary SMTP address. The + * response includes the correct SMTP address to use. + * + * @since Exchange 2007 + * + * @var string + */ + const NON_PRIMARY_SMTP_ADDRESS = 'ErrorNonPrimarySmtpAddress'; + + /** + * This error is returned whenever an ID that is not an item attachment ID + * is passed to a Web service method that expects an attachment ID. + * + * @since Exchange 2007 + * + * @var string + */ + const NOT_AN_ITEM_ATTACHMENT_ID = 'ErrorInvalidIdNotAnItemAttachmentId'; + + /** + * This error indicates that the user is not a delegate for the mailbox. + * + * It is returned by the GetDelegate Operation, the RemoveDelegate + * Operation, and the UpdateDelegate Operation when the specified delegate + * user is not found in the list of delegates. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const NOT_DELEGATE = 'ErrorNotDelegate'; + + /** + * This error indicates that the operation could not be completed because of + * insufficient memory. + * + * @since Exchange 2007 + * + * @var string + */ + const NOT_ENOUGH_MEMORY = 'ErrorNotEnoughMemory'; + + /** + * This error indicates that the operation (currently CancelItem) on the + * calendar item is not valid for an attendee; only the meeting organizer + * can cancel the meeting. + * + * @since Exchange 2007 + * + * @var string + */ + const NOT_ORGANIZER = 'ErrorCalendarIsNotOrganizer'; + + /** + * This error occurs if the object type changed. + * + * @since Exchange 2007 + * + * @var string + */ + const OBJECT_TYPE_CHANGED = 'ErrorObjectTypeChanged'; + + /** + * This error occurs when the Start or End time of an occurrence is updated + * so that the occurrence is scheduled to happen earlier or later than the + * corresponding previous or next occurrence. + * + * @since Exchange 2007 + * + * @var string + */ + const OCCURRENCE_CROSSING_BOUNDARY = 'ErrorOccurrenceCrossingBoundary'; + + /** + * This error indicates that the occurrence index does not point to an + * occurrence within the current recurrence. + * + * For example, if your recurrence pattern defines a set of three meeting + * occurrences and you try to access the fifth occurrence, this response + * code will result. + * + * @since Exchange 2007 + * + * @var string + */ + const OCCURRENCE_INDEX_OUT_OF_RANGE = 'ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange'; + + /** + * This error indicates that any operation on a deleted occurrence + * (addressed via recurring master ID and occurrence index) is invalid. + * + * @since Exchange 2007 + * + * @var string + */ + const OCCURRENCE_IS_DELETED = 'ErrorCalendarOccurrenceIsDeletedFromRecurrence'; + + /** + * This error indicates that the time allotment for a given occurrence + * overlaps with another occurrence of the same recurring item. + * + * This response also occurs when the length in minutes of a given + * occurrence is larger than Int32.MaxValue. + * + * @since Exchange 2007 + * + * @var string + */ + const OCCURRENCE_TIME_SPAN_TOO_BIG = 'ErrorOccurrenceTimeSpanTooBig'; + + /** + * This error indicates that the current operation is not valid for the + * public folder root. + * + * @since Exchange 2007 + * + * @var string + */ + const OPERATION_NOT_ALLOWED_WITH_PUBLIC_FOLDER_ROOT = 'ErrorOperationNotAllowedWithPublicFolderRoot'; + + /** + * This error indicates that the requester's organization is not federated + * so the requester cannot create sharing messages to send to an external + * user or cannot accept sharing messages received from an external user. + * + * @since Exchange 2010 + * + * @var string + */ + const ORGANIZATION_NOT_FEDERATED = 'ErrorOrganizationNotFederated'; + + /** + * This error indicates that AcceptItem is invalid for the organizer’s + * calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const ORGANIZER_FOR_ACCEPT = 'ErrorCalendarIsOrganizerForAccept'; + + /** + * This error indicates that DeclineItem is invalid for the organizer’s + * calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const ORGANIZER_FOR_DECLINE = 'ErrorCalendarIsOrganizerForDecline'; + + /** + * This error indicates that RemoveItem is invalid for the organizer’s + * calendar item. To remove a meeting from the calendar, the organizer must + * use CancelItem. + * + * @since Exchange 2007 + * + * @var string + */ + const ORGANIZER_FOR_REMOVE = 'ErrorCalendarIsOrganizerForRemove'; + + /** + * This error indicates that TentativelyAcceptItem is invalid for the + * organizer’s calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const ORGANIZER_FOR_TENTATIVE = 'ErrorCalendarIsOrganizerForTentative'; + + /** + * This error MUST be returned when an attempt to manage Inbox rules occurs + * after another client has accessed the Inbox rules. + * + * @since Exchange 2010 + * + * @var string + */ + const OUTLOOK_RULE_BLOB_EXISTS = 'ErrorOutlookRuleBlobExists'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const PARENT_FOLDER_ID_REQUIRED = 'ErrorParentFolderIdRequired'; + + /** + * This error occurs in the CreateFolder Operation when the parent folder is + * not found. + * + * @since Exchange 2007 + * + * @var string + */ + const PARENT_FOLDER_NOT_FOUND = 'ErrorParentFolderNotFound'; + + /** + * This error indicates that you must change your password before you can + * access this mailbox. + * + * This occurs when a new account has been created and the administrator + * indicated that the user must change the password at first logon. You + * cannot update the password by using Exchange Web Services. You must use a + * tool such as Microsoft Office Outlook Web App to change your password. + * + * @since Exchange 2007 + * + * @var string + */ + const PASSWORD_CHANGE_REQUIRED = 'ErrorPasswordChangeRequired'; + + /** + * This error indicates that the password has expired. + * + * You cannot change the password by using Exchange Web Services. You must + * use a tool such as Outlook Web App to change your password. + * + * @since Exchange 2007 + * + * @var string + */ + const PASSWORD_EXPIRED = 'ErrorPasswordExpired'; + + /** + * This error indicates that the requester tried to grant permissions in its + * calendar or contacts folder to an external user but the sharing policy + * assigned to the requester indicates that the requested permission level + * is higher than what the sharing policy allows. + * + * @since Exchange 2010 + * + * @var string + */ + const PERMISSION_NOT_ALLOWED_BY_POLICY = 'ErrorPermissionNotAllowedByPolicy'; + + /** + * This error Indicates that the telephone number was not in the correct + * form. + * + * @since Exchange 2010 + * + * @var string + */ + const PHONE_NUMBER_NOT_DIALABLE = 'ErrorPhoneNumberNotDialable'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const PROMPT_PUBLISHING_OPERATION_FAILED = 'ErrorPromptPublishingOperationFailed'; + + /** + * This error indicates that the update failed because of invalid property + * values. + * + * The response message includes the invalid property paths. + * + * @since Exchange 2007 + * + * @var string + */ + const PROPERTY_UPDATE_ERROR = 'ErrorPropertyUpdate'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const PROPERTY_VALIDATION_FAILURE = 'ErrorPropertyValidationFailure'; + + /** + * This error indicates that the request referred to a subscription that + * exists on another Client Access server, but an attempt to proxy the + * request to that Client Access server failed. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXIED_SUBSCRIPTION_CALL_FAILURE = 'ErrorProxiedSubscriptionCallFailure'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXY_CALL_FAILED = 'ErrorProxyCallFailed'; + + /** + * This error indicates that the request referred to a mailbox in another + * Active Directory site, and the original caller is a member of more than + * 3,000 groups. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXY_GROUP_SID_LIMIT_EXCEEDED = 'ErrorProxyGroupSidLimitExceeded'; + + /** + * This error indicates that the request that Exchange Web Services sent to + * another Client Access server when trying to fulfill a GetUserAvailability + * request was invalid. + * + * This response code typically indicates that a configuration or rights + * error has occurred, or that someone tried unsuccessfully to mimic an + * availability proxy request. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXY_REQUEST_NOT_ALLOWED = 'ErrorProxyRequestNotAllowed'; + + /** + * This error indicates that Exchange Web Services tried to proxy an + * availability request to another Client Access server for fulfillment, but + * the request failed. + * + * This response can be caused by network connectivity issues or request + * timeout issues. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXY_REQUEST_PROCESSING_FAILED = 'ErrorProxyRequestProcessingFailed'; + + /** + * This error code must be returned if the Web service cannot determine + * whether the request is to run on the target server or will be proxied to + * another server. + * + * @since Exchange 2010 + * + * @var string + */ + const PROXY_SERVICE_DISCOVERY_FAILED = 'ErrorProxyServiceDiscoveryFailed'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const PROXY_TOKEN_EXPIRED = 'ErrorProxyTokenExpired'; + + /** + * This error occurs when the public folder mailbox URL cannot be found. + * + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const PUBLIC_FOLDER_MAILBOX_DISCOVERY_FAILED = 'ErrorPublicFolderMailboxDiscoveryFailed'; + + /** + * This error occurs when an attempt is made to access a public folder and + * the attempt is unsuccessful. + * + * @since Exchange 2013 + * + * @var string + */ + const PUBLIC_FOLDER_OPERATION_FAILED = 'ErrorPublicFolderOperationFailed'; + + /** + * This error occurs when the recipient that was passed to the + * GetUserAvailability Operation is located on a computer that is running a + * version of Exchange Server that is earlier than Exchange 2007, and the + * request to retrieve free/busy information for the recipient from the + * public folder server failed. + * + * @since Exchange 2007 + * + * @var string + */ + const PUBLIC_FOLDER_REQUEST_PROCESSING_FAILED = 'ErrorPublicFolderRequestProcessingFailed'; + + /** + * This error occurs when the recipient that was passed to the + * GetUserAvailability Operation is located on a computer that is running a + * version of Exchange Server that is earlier than Exchange 2007, and the + * request to retrieve free/busy information for the recipient from the + * public folder server failed because the organizational unit did not have + * an associated public folder server. + * + * @since Exchange 2007 + * + * @var string + */ + const PUBLIC_FOLDER_SERVER_NOT_FOUND = 'ErrorPublicFolderServerNotFound'; + + /** + * This error occurs when a synchronization operation succeeds against the + * primary public folder mailbox but does not succeed against the secondary + * public folder mailbox. + * + * @since Exchange 2013 + * + * @var string + */ + const PUBLIC_FOLDER_SYNC_EXCEPTION = 'ErrorPublicFolderSyncException'; + + /** + * This error indicates that the search folder restriction may be valid, but + * it is not supported by EWS. + * + * Exchange Web Services limits restrictions to contain a maximum of 255 + * filter expressions. If you try to bind to an existing search folder that + * exceeds 255, this response code is returned. + * + * @since Exchange 2007 + * + * @var string + */ + const QUERY_FILTER_TOO_LONG = 'ErrorQueryFilterTooLong'; + + /** + * This error occurs when the mailbox quota is exceeded. + * + * @since Exchange 2007 + * + * @var string + */ + const QUOTA_EXCEEDED = 'ErrorQuotaExceeded'; + + /** + * This error is returned by the GetEvents Operation or push notifications + * when a failure occurs while retrieving event information. + * + * When this error is returned, the subscription is deleted. Re-create the + * event synchronization based on a last known watermark. + * + * @since Exchange 2007 + * + * @var string + */ + const READ_EVENTS_FAILED = 'ErrorReadEventsFailed'; + + /** + * This error is returned by the CreateItem Operation if an attempt was made + * to suppress a read receipt when the message sender did not request a read + * receipt on the message or if the message is in the Junk E-mail folder. + * + * @since Exchange 2007 + * + * @var string + */ + const READ_RECEIPT_NOT_PENDING = 'ErrorReadReceiptNotPending'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const RECIPIENT_NOT_FOUND = 'ErrorRecipientNotFound'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const RECOGNIZER_NOT_INSTALLED = 'ErrorRecognizerNotInstalled'; + + /** + * This error occurs when the end date for the recurrence is after 9/1/4500. + * + * @since Exchange 2007 + * + * @var string + */ + const RECURRENCE_END_DATE_TOO_BIG = 'ErrorRecurrenceEndDateTooBig'; + + /** + * This error occurs when the specified recurrence does not have any + * occurrence instances in the specified range. + * + * @since Exchange 2007 + * + * @var string + */ + const RECURRENCE_HAS_NO_OCCURRENCE = 'ErrorRecurrenceHasNoOccurrence'; + + /** + * This error indicates that the delegate list failed to be saved after + * delegates were removed. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const REMOVE_DELEGATES_FAILED = 'ErrorRemoveDelegatesFailed'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const REQUEST_ABORTED = 'ErrorRequestAborted'; + + /** + * This error occurs when the request stream is larger than 400 KB. + * + * @since Exchange 2007 + * + * @var string + */ + const REQUEST_STREAM_TOO_BIG = 'ErrorRequestStreamTooBig'; + + /** + * This error is returned when a required property is missing in a + * CreateAttachment Operation request. + * + * The missing property URI is included in the response. + * + * @since Exchange 2007 + * + * @var string + */ + const REQUIRED_PROPERTY_MISSING = 'ErrorRequiredPropertyMissing'; + + /** + * This error indicates that the caller has specified a folder that is not a + * contacts folder to the ResolveNames Operation. + * + * @since Exchange 2007 + * + * @var string + */ + const RESOLVE_NAMES_INVALID_FOLDER_TYPE = 'ErrorResolveNamesInvalidFolderType'; + + /** + * This error indicates that the caller has specified more than one contacts + * folder to the ResolveNames Operation. + * + * @since Exchange 2007 + * + * @var string + */ + const RESOLVE_NAMES_ONLY_ONE_CONTACTS_FOLDER_ALLOWED = 'ErrorResolveNamesOnlyOneContactsFolderAllowed'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const RESPONSE_SCHEMA_VALIDATION = 'ErrorResponseSchemaValidation'; + + /** + * This error occurs when the restriction cannot be evaluated by Exchange + * Web Services. + * + * @since Exchange 2007 + * + * @var string + */ + const RESTRICTION_TOO_COMPLEX = 'ErrorRestrictionTooComplex'; + + /** + * This error occurs if the restriction contains more than 255 nodes. + * + * @since Exchange 2007 + * + * @var string + */ + const RESTRICTION_TOO_LONG = 'ErrorRestrictionTooLong'; + + /** + * This error indicates that the number of calendar entries for a given + * recipient exceeds the allowed limit of 1000. + * + * Reduce the window and try again. + * + * @since Exchange 2007 + * + * @var string + */ + const RESULT_SET_TOO_BIG = 'ErrorResultSetTooBig'; + + /** + * This error MUST be returned when a user's rule quota has been exceeded. + * + * @since Exchange 2010 + * + * @var string + */ + const RULES_OVER_QUOTA = 'ErrorRulesOverQuota'; + + /** + * This error occurs when the SavedItemFolderId is not found. + * + * @since Exchange 2007 + * + * @var string + */ + const SAVED_ITEM_FOLDER_NOT_FOUND = 'ErrorSavedItemFolderNotFound'; + + /** + * This error occurs when the request cannot be validated against the + * schema. + * + * @since Exchange 2007 + * + * @var string + */ + const SCHEMA_VALIDATION = 'ErrorSchemaValidation'; + + /** + * This error indicates that the search folder was created, but the search + * criteria were never set on the folder. + * + * This only occurs when you access corrupted search folders that were + * created by using another API or client. To fix this error, use the + * UpdateFolder Operation to set the SearchParameters to include the + * restriction that should be on the folder. + * + * @since Exchange 2007 + * + * @var string + */ + const SEARCH_FOLDER_NOT_INITIALIZED = 'ErrorSearchFolderNotInitialized'; + + /** + * This error is returned when an unexpected photo size is requested in a + * GetUserPhoto operation request. + * + * @since Exchange 2013 + * + * @var string + */ + const SEARCH_QUERY_HAS_TOO_MANY_KEYWORDS = 'ErrorSearchQueryHasTooManyKeywords'; + + /** + * This error is returned when a SearchMailboxes operation request contains + * too many mailboxes to search. + * + * @since Exchange 2013 + * + * @var string + */ + const SEARCH_TOO_MANY_MAILBOXES = 'ErrorSearchTooManyMailboxes'; + + /** + * This error occurs when a an attempt to send a message as another user is + * denied. + * + * The request will be denied when both of the following conditions occur: + * - A user has been granted CanActAsOwner permissions but is not granted + * delegate rights on the principal’s mailbox. + * - The same user tries to create and send an e-mail message in the + * principal’s mailbox by using the SendAndSaveCopy option. + * + * The result is an ErrorSendAsDenied error and the creation of the e-mail + * message in the principal’s Drafts folder. + * + * @since Exchange 2007 + * + * @var string + */ + const SEND_AS_DENIED = 'ErrorSendAsDenied'; + + /** + * This error is returned by the DeleteItem Operation if the + * SendMeetingCancellations attribute is missing from the request and the + * item to delete is a calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const SEND_MEETING_CANCELLATIONS_REQUIRED = 'ErrorSendMeetingCancellationsRequired'; + + /** + * This error is returned by the UpdateItem Operation if the + * SendMeetingInvitationsOrCancellations attribute is missing from the + * request and the item to update is a calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const SEND_MEETING_INVITATIONS_OR_CANCELLATIONS_REQUIRED = 'ErrorSendMeetingInvitationsOrCancellationsRequired'; + + /** + * This error is returned by the CreateItem Operation if the + * SendMeetingInvitations attribute is missing from the request and the item + * to create is a calendar item. + * + * @since Exchange 2007 + * + * @var string + */ + const SEND_MEETING_INVITATIONS_REQUIRED = 'ErrorSendMeetingInvitationsRequired'; + + /** + * This error indicates that after the organizer sends a meeting request, + * the request cannot be updated. + * + * To modify the meeting, modify the calendar item, not the meeting request. + * + * @since Exchange 2007 + * + * @var string + */ + const SENT_MEETING_REQUEST_UPDATE = 'ErrorSentMeetingRequestUpdate'; + + /** + * This error indicates that after the task initiator sends a task request, + * that request cannot be updated. + * + * @since Exchange 2007 + * + * @var string + */ + const SENT_TASK_REQUEST_UPDATE = 'ErrorSentTaskRequestUpdate'; + + /** + * This error occurs when the server is busy. + * + * @since Exchange 2007 + * + * @var string + */ + const SERVER_BUSY = 'ErrorServerBusy'; + + /** + * This error indicates that Exchange Web Services tried to proxy a user + * availability request to the appropriate forest for the recipient, but it + * could not determine where to send the request because of a service + * discovery failure. + * + * @since Exchange 2007 + * + * @var string + */ + const SERVICE_DISCOVERY_FAILED = 'ErrorServiceDiscoveryFailed'; + + /** + * This error indicates that the sharing message is not supported. + * + * @since Exchange 2010 + * + * @var string + */ + const SHARING_MESSAGE_NOT_SUPPORTED = 'ErrorNotSupportedSharingMessage'; + + /** + * This error indicates that the external URL property has not been set in + * the Active Directory database. + * + * @since Exchange 2010 + * + * @var string + */ + const SHARING_NO_EXTERNAL_EWS_AVAILABLE = 'ErrorSharingNoExternalEwsAvailable'; + + /** + * This error indicates that an attempt at synchronizing a sharing folder + * failed. + * + * This error code is returned when one of the following occurs: + * - The subscription for a sharing folder is not found. + * - The sharing folder is not found + * - The corresponding directory user is not found + * - The user no longer exists. + * - The appointment is invalid + * - The contact item is invalid. + * - There is a communication failure with the remote server. + * + * @since Exchange 2010 + * + * @var string + */ + const SHARING_SYNCHRONIZATION_FAILED = 'ErrorSharingSynchronizationFailed'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const SPEECH_GRAMMAR_ERROR = 'ErrorSpeechGrammarError'; + + /** + * This error occurs in an UpdateItem Operation or a SendItem Operation when + * the change key is not up-to-date or was not supplied. + * + * Call the GetItem Operation to retrieve an updated change key and then try + * the operation again. + * + * @since Exchange 2007 + * + * @var string + */ + const STALE_OBJECT = 'ErrorStaleObject'; + + /** + * This error occurs when the caller specifies an Id attribute that is too + * long. + * + * @since Exchange 2007 + * + * @var string + */ + const STORE_OBJECT_ID_TOO_LONG = 'ErrorInvalidIdStoreObjectIdTooLong'; + + /** + * This error Indicates that a user cannot immediately send more requests + * because the submission quota has been reached. + * + * @since Exchange 2010 + * + * @var string + */ + const SUBMISSION_QUOTE_EXCEEDED = 'ErrorSubmissionQuotaExceeded'; + + /** + * This error occurs when you try to access a subscription by using an + * account that did not create that subscription. + * + * Each subscription can only be accessed by the creator of the + * subscription. + * + * @since Exchange 2007 + * + * @var string + */ + const SUBSCRIPTION_ACCESS_DENIED = 'ErrorSubscriptionAccessDenied'; + + /** + * This error indicates that you cannot create a subscription if you are not + * the owner or do not have owner access to the mailbox. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const SUBSCRIPTION_DELEGATE_ACCESS_NOT_SUPPORTED = 'ErrorSubscriptionDelegateAccessNotSupported'; + + /** + * This error occurs if the subscription that corresponds to the specified + * SubscriptionId is not found. + * + * The subscription may have expired, the Exchange Web Services process may + * have been restarted, or an invalid subscription was passed in. If the + * subscription was valid, re-create the subscription with the latest + * watermark. This is returned by the Unsubscribe Operation or the GetEvents + * Operation responses. + * + * @since Exchange 2007 + * + * @var string + */ + const SUBSCRIPTION_NOT_FOUND = 'ErrorSubscriptionNotFound'; + + /** + * This error code must be returned when a request is made for a + * subscription that has been unsubscribed. + * + * @since Exchange 2010 + * + * @var string + */ + const SUBSCRIPTION_UNSUBSCRIBED = 'ErrorSubscriptionUnsubsribed'; + + /** + * This error is returned by the SyncFolderItems Operation if the parent + * folder that is specified cannot be found. + * + * @since Exchange 2007 + * + * @var string + */ + const SYNC_FOLDER_NOT_FOUND = 'ErrorSyncFolderNotFound'; + + /** + * This error code is not used. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_ACTIVE_TO_PENDING_DELETE = 'ErrorTeamMailboxActiveToPendingDelete'; + + /** + * This error indicates a general error that can occur when trying to access + * a team mailbox. + * + * Try submitting the request at a later time. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_ERROR_UNKNOWN = 'ErrorTeamMailboxErrorUnknown'; + + /** + * This error indicates that an attempt to send a notification to the team + * mailbox owners was unsuccessful. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_FAILED_SENDING_NOTIFICATIONS = 'ErrorTeamMailboxFailedSendingNotifications'; + + /** + * This error code is not used. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_NOT_AUTHORIZED_OWNER = 'ErrorTeamMailboxNotAuthorizedOwner'; + + /** + * This error indicates that a team mailbox was not found. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_NOT_FOUND = 'ErrorTeamMailboxNotFound'; + + /** + * This error indicates that a team mailbox was found but that it is not + * linked to a SharePoint Server. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_NOT_LINKED_TO_SHARE_POINT = 'ErrorTeamMailboxNotLinkedToSharePoint'; + + /** + * This error indicates that a team mailbox was found but that the link to + * the SharePoint Server is not valid. + * + * @since Exchange 2013 + * + * @var string + */ + const TEAM_MAILBOX_URL_VALIDATION_FAILED = 'ErrorTeamMailboxUrlValidationFailed'; + + /** + * This error indicates that the time window that was specified is larger + * than the allowed limit. + * + * By default, the allowed limit is 42. + * + * @since Exchange 2007 + * + * @var string + */ + const TIME_INTERVAL_TOO_BIG = 'ErrorTimeIntervalTooBig'; + + /** + * This error indicates that there is a time zone error. + * + * @since Exchange 2007 + * + * @var string + */ + const TIME_ZONE_ERROR = 'ErrorTimeZone'; + + /** + * This error occurs when there is not enough time to complete the + * processing of the request. + * + * @since Exchange 2007 + * + * @var string + */ + const TIMEOUT_EXPIRED = 'ErrorTimeoutExpired'; + + /** + * This error indicates that the destination folder does not exist. + * + * @since Exchange 2007 + * + * @var string + */ + const TO_FOLDER_NOT_FOUND = 'ErrorToFolderNotFound'; + + /** + * This error occurs if the caller tries to do a Token serialization request + * but does not have the ms-Exch-EPI-TokenSerialization right on the Client + * Access server. + * + * @since Exchange 2007 + * + * @var string + */ + const TOKEN_SERIALIZATION_DENIED = 'ErrorTokenSerializationDenied'; + + /** + * This error is returned when the attachment hierarchy on an item exceeds + * the maximum of 255 levels deep. + * + * @since Exchange 2007 + * + * @var string + */ + const TOO_MANY_ATTACHMENT_LEVELS = 'ErrorInvalidIdTooManyAttachmentLevels'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const UM_SERVER_UNAVAILABLE = 'ErrorUMServerUnavailable'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const UNABLE_TO_GET_USER_OOF_SETTINGS = 'ErrorUnableToGetUserOofSettings'; + + /** + * This error occurs when an unsuccessful attempt is made to remove an IM + * contact from a group. + * + * @since Exchange 2013 + * + * @var string + */ + const UNABLE_TO_REMOVE_IM_CONTACT_FROM_GROUP = 'ErrorUnableToRemoveImContactFromGroup'; + + /** + * This error indicates that a user's dial plan is not available. + * + * @since Exchange 2010 + * + * @var string + */ + const UNIFIED_MESSAGING_DIAL_PLAN_NOT_FOUND = 'ErrorUnifiedMessagingDialPlanNotFound'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const UNIFIED_MESSAGING_PROMPT_NOT_FOUND = 'ErrorUnifiedMessagingPromptNotFound'; + + /** + * This error is intended for internal use only. + * + * @since Exchange 2013 + * + * @var string + */ + const UNIFIED_MESSAGING_REPORT_DATA_NOT_FOUND = 'ErrorUnifiedMessagingReportDataNotFound'; + + /** + * This error indicates that the user could not be found. + * + * @since Exchange 2010 + * + * @var string + */ + const UNIFIED_MESSAGING_REQUEST_FAILED = 'ErrorUnifiedMessagingRequestFailed'; + + /** + * This error indicates that a valid server for the dial plan could not be + * found to handle the request. + * + * @since Exchange 2010 + * + * @var string + */ + const UNIFIED_MESSAGING_SERVER_NOT_FOUND = 'ErrorUnifiedMessagingServerNotFound'; + + /** + * This error occurs when you try to set the Culture property to a value + * that is not parsable by the System.Globalization.CultureInfo class. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_CULTURE = 'ErrorUnsupportedCulture'; + + /** + * This error occurs when a caller tries to use extended properties of types + * object, object array, error, or null. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_MAPI_PROPERTY_TYPE = 'ErrorUnsupportedMapiPropertyType'; + + /** + * This error occurs when you are trying to retrieve or set MIME content for + * an item other than a PostItemType, MessageType, or CalendarItemType + * object. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_MIME_CONVERSION = 'ErrorUnsupportedMimeConversion'; + + /** + * This error occurs when the caller passes a property that is invalid for a + * query. + * + * This can occur when calculated properties are used. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_PATH_FOR_QUERY = 'ErrorUnsupportedPathForQuery'; + + /** + * This error occurs when the caller passes a property that is invalid for a + * sort or group by property. + * + * This can occur when calculated properties are used. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_PATH_FOR_SORT_GROUP = 'ErrorUnsupportedPathForSortGroup'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_PROPERTY_DEFINITION = 'ErrorUnsupportedPropertyDefinition'; + + /** + * This error indicates that the search folder restriction may be valid, but + * it is not supported by EWS. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_QUERY_FILTER = 'ErrorUnsupportedQueryFilter'; + + /** + * This error indicates that the specified recurrence is not supported for + * tasks. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_RECURRENCE = 'ErrorUnsupportedRecurrence'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_SUBFILTER = 'ErrorUnsupportedSubFilter'; + + /** + * This error indicates that Exchange Web Services found a property type in + * the store but it cannot generate XML for the property type. + * + * @since Exchange 2007 + * + * @var string + */ + const UNSUPPORTED_TYPE_FOR_CONVERSION = 'ErrorUnsupportedTypeForConversion'; + + /** + * This error indicates that the delegate list failed to be saved after + * delegates were updated. + * + * @since Exchange 2007 SP1 + * + * @var string + */ + const UPDATE_DELEGATES_FAILED = 'ErrorUpdateDelegatesFailed'; + + /** + * This error occurs when the single property path that is listed in a + * change description does not match the single property that is being set + * within the actual ItemType or FolderType object. + * + * @since Exchange 2007 + * + * @var string + */ + const UPDATE_PROPERTY_MISMATCH = 'ErrorUpdatePropertyMismatch'; + + /** + * This error indicates that the requester tried to grant permissions in its + * calendar or contacts folder to an external user but the sharing policy + * assigned to the requester indicates that the domain of the external user + * is not listed in the policy. + * + * @since Exchange 2010 + * + * @var string + */ + const USER_NOT_ALLOWED_BY_POLICY = 'ErrorUserNotAllowedByPolicy'; + + /** + * This error indicates that the requester is not enabled. + * + * @since Exchange 2010 + * + * @var string + */ + const USER_NOT_UNIFIED_MESSAGING_ENABLED = 'ErrorUserNotUnifiedMessagingEnabled'; + + /** + * Indicates that the requester's organization has a set of federated + * domains but the requester's organization does not have any SMTP proxy + * addresses with one of the federated domains. + * + * @since Exchange 2010 + * + * @var string + */ + const USER_WITHOUT_FEDERATED_PROXY_ADDRESS = 'ErrorUserWithoutFederatedProxyAddress'; + + /** + * This error indicates that a calendar view start date or end date was set + * to 1/1/0001 12:00:00 AM or 12/31/9999 11:59:59 PM. + * + * @since Exchange 2010 + * + * @var string + */ + const VALUE_OUT_OF_RANGE = 'ErrorValueOutOfRange'; + + /** + * This error occurs when Start to End range for the CalendarView element is + * more than the maximum allowed, currently 2 years. + * + * @since Exchange 2007 + * + * @var string + */ + const VIEW_RANGE_TOO_BIG = 'ErrorCalendarViewRangeTooBig'; + + /** + * This error indicates that the Exchange store detected a virus in the + * message. + * + * @since Exchange 2007 + * + * @var string + */ + const VIRUS_DETECTED = 'ErrorVirusDetected'; + + /** + * This error indicates that the Exchange store detected a virus in the + * message and deleted it. + * + * @since Exchange 2007 + * + * @var string + */ + const VIRUS_MESSAGE_DELETED = 'ErrorVirusMessageDeleted'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const VOICE_MAIL_NOT_IMPLEMENTED = 'ErrorVoiceMailNotImplemented'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const WEB_REQUEST_IN_INVALID_STATE = 'ErrorWebRequestInInvalidState'; + + /** + * This error indicates that there was an internal failure during + * communication with unmanaged code. + * + * @since Exchange 2007 + * + * @var string + */ + const WIN32_INTEROP_ERROR = 'ErrorWin32InteropError'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const WORKING_HOURS_SAVE_FAILED = 'ErrorWorkingHoursSaveFailed'; + + /** + * This response code is not used. + * + * @since Exchange 2007 + * + * @var string + */ + const WORKING_HOURS_XML_MALFORMED = 'ErrorWorkingHoursXmlMalformed'; + + /** + * This error indicates that a request can only be made to a server that is + * the same version as the mailbox server. + * + * @since Exchange 2010 + * + * @var string + */ + const WRONG_SERVER_VERSION = 'ErrorWrongServerVersion'; + + /** + * This error indicates that a request was made by a delegate that has a + * different server version than the principal's mailbox server. + * + * @since Exchange 2010 + * + * @var string + */ + const WRONG_SERVER_VERSION_DELEGATE = 'ErrorWrongServerVersionDelegate'; +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php new file mode 100644 index 00000000..3329465f --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php @@ -0,0 +1,70 @@ + $value) { + // If the value of the property is an object then clone it. + if (is_object($value)) { + $this->$property = clone $value; + } elseif (is_array($value)) { + // The value is an array that may use objects as values. Iterate + // over the array and clone any values that are objects into a + // new array. + // For some reason, if we try to set $this->$property to an + // empty array then update it as we go it ends up being empty. + // If we use a new array that we then set as the value of + // $this->$property all is well. + $new_value = array(); + foreach ($value as $index => $array_value) { + $new_value[$index] = (is_object($array_value) ? clone $array_value : $array_value); + } + + // Set the property to the new array. + $this->$property = $new_value; + } + } + } +} diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php new file mode 100644 index 00000000..fb06c47b --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php @@ -0,0 +1,36 @@ + + + + + + + + + Represents the message keys that can be returned by response error messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts the passed source ids into the destination format. Change keys are not + returned. + + + + + + + + + + + + + + + + Response type for the ConvertId web method + + + + + + + + + + + Response Message for a single id conversion in the ConvertId web method. Note + that the AlternateId element will be missing in the case of an error. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + + + + + + + + + + + + + + + + + Response type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + + + Response message type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + + + + + + + Request type for the GetSearchableMailboxes web method. + + + + + + + + + + + + + + + + + Response message type for the GetSearchableMailboxes web method. + + + + + + + + + + + + + + + + + + + Request type for the SearchMailboxes web method. + + + + + + + + + + + + + + + + + + + + + + + + Response type for the SearchMailboxes web method. + + + + + + + + + + + + Response message type for the SearchMailboxes web method. + + + + + + + + + + + + + + + + Request type for the GetDiscoverySearchConfiguration web method. + + + + + + + + + + + + + + + + + + Response message type for the GetDiscoverySearchConfiguration web method. + + + + + + + + + + + + + + + + + + Request type for the GetHoldOnMailboxes web method. + + + + + + + + + + + + + + + + Response message type for the GetHoldOnMailboxes web method. + + + + + + + + + + + + + + + + + + Request type for the SetHoldOnMailboxes web method. + + + + + + + + + + + + + + + + + + + + + + + + Response message type for the SetHoldOnMailboxes web method. + + + + + + + + + + + + + + + + + + Request type for the GetNonIndexableItemStatistics web method. + + + + + + + + + + + + + + + + + Response message type for the GetNonIndexableItemStatistics web method. + + + + + + + + + + + + + + + + + + Request type for the GetNonIndexableItemDetails web method. + + + + + + + + + + + + + + + + + + + + Response message type for the GetNonIndexableItemDetails web method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request type for the GetUserRetentionPolicyTags web method. + + + + + + + + + + + + + Response message type for the GetUserRetentionPolicyTags web method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/services.wsdl b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/services.wsdl new file mode 100644 index 00000000..7461185f --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/services.wsdl @@ -0,0 +1,3624 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd new file mode 100644 index 00000000..52f4f189 --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd @@ -0,0 +1,9779 @@ + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + Surfaces the various logon types that are supported for conversion + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + Precision for returned DateTime values + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for a fully resolved email address + + + + + + + + + + + + + + + + + + Extends EmailAddress by adding the external object id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The regular expression captures the standard representation of a GUID + + + + + + + + + + + Defines the well known property set ids for extended properties. + + + + + + + + + + + + + + + + + + + + Includes all of the extended property types that we support. Note that Error, Null, + Object and Object array can not be used in restrictions, or for setting/getting values. + They are only there for error reporting purposes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type represents the property tag (MINUS the type part). There are two options + for representation: + 1. Hex ==> 0x3fa4 + 2. Decimal ==> 0-65535 + + + + + + + + + + + + + + + Represents an extended property. Note that there are only a couple of valid attribute + combinations. Note that all occurrences require the PropertyType attribute. + + 1. (DistinguishedPropertySetId || PropertySetId) + (PropertyName || Property Id) + 2. PropertyTag + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an extended property instance (both its path identifier along with its + associated value). + + + + + + + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + + + Types of sub-tree traversal for conversations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type of conflict resolution to attempt during update + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility type which should never appear in user documents + + + + + + + + + + + URIs for the distinguished folders accessible from a mailbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for a distinguished folder + + + + + + + + + + + + + + + Identifier for a fully resolved folder + + + + + + + + + + + + Identifier for a address list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Types of view filters for finding items/conversations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compound property for Managed Folder related information for Managed Folders. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Abstract base type for item identifiers. Should never be used in web service calls + + + + + + + + + + + Identifier for a fully resolved item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Internal abstract base type for reply objects. + Should not appear in client code + + + + + + + + + + + + + + Abstract base type for reply objects + + + + + + + The name of this reply object class as an English string. The client + application is required to translate it if it's running in a different locale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This max/min evaluation is applied to the field specified within the group by + instance for EACH item within that group. This determines which item from each group + is to be selected as the representative for that group. + + + + + + + + + + + + Represents the field of each item to aggregate on and the qualifier to apply to that + field in determining which item will represent the group. + + + + + + + + + + + + + + + + + + + Allows consumers to specify arbitrary groupings for FindItem queries. + + + + + + + + + + + + + + + + + + + + + + + + + Represents standard groupings for GroupBy queries. + + + + + + + + + + + Allows consumers to access standard groupings for FindItem queries. This is in + contrast to the arbitrary (custom) groupings available via the t:GroupByType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Surfaces the various id types that are supported for conversion + + + + + + + + + + + + + + + Surfaces alternate representations of an item or folder id. No change key is included. + + + + + + + + + Represents an alternate mailbox folder or item Id. + + + + + + + + + + + + + + + Represents an alternate public folder Id. + + + + + + + + + + + + + Represents an alternate public folder item Id. + + + + + + + + + + + + + A non-empty array of alternate Ids. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A permission on a folder + + + + + + + + + + + + + + + + A permission on a folder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The set of permissions on a folder + + + + + + + + + + The set of permissions on a folder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the message keys that can be returned for invalid recipients + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Surfaces the various report message action types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Size range type used for the WithinSizeRange rule predicate. + + + + + + + + + + Date range type used for the WithinDateRange rule predicate. + + + + + + + + + + Flagged for action enumeration, currently used in FlaggedForAction rule predicate + + + + + + + + + + + + + + + + + + + Rule predicates, used as rule conditions or exceptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule actions + + + + + + + + + + + + + + + + + + + + + Rule type + + + + + + + + + + + + + + + + + Array of rule objects + + + + + + + + Rule field URI enumerates all possible rule fields that could trigger validation error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule validation error code describing what failed validation for each rule predicate or action. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a single validation error on a particular rule property value, predicate property value or action property value + + + + + + + + + + + + Represents an array of rule validation errors + + + + + + + + + Represents a rule operation to be performed + + + + + + Represents an array of rule operations to be performed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Array of search item kind enum. + + + + + + + + + + + User Mailbox. + + + + + + + + + + Array of user mailbox. + + + + + + + + + + + Searchable mailbox. + + + + + + + + + + + + + + + + + Array of searchable mailbox. + + + + + + + + + + + Keyword statistics search result. + + + + + + + + + + + + + Array of keyword statistics result. + + + + + + + + + + + Mailbox statistics search result. + + + + + + + + + + + + + Extended attributes of a target mailbox. + + + + + + + + + + + + Array of extended attributes of a target mailbox + + + + + + + + + + + + + + + + + + + Set of mailbox, search scope and its extended attributes. + + + + + + + + + + + + + Array of mailbox and its search scope. + + + + + + + + + + + Pair of query and a set of mailbox search scopes. + + + + + + + + + + + + Mailbox information for each preview item. + + + + + + + + + + + + Array of query and mailboxes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mailbox search preview item. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Array of search preview item. + + + + + + + + + + + Mailbox failed on search and its error message. + + + + + + + + + + + + + + Array of failed mailbox and error message. + + + + + + + + + + + Mailboxes search result. + + + + + + + + + + + + + + + + + + + + + Search refiner item. + + + + + + + + + + + + + + Array of search refiner item. + + + + + + + + + + + + + OneDrive search result item. + + + + + + + + + + + + + + + File search result item. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Delve search result item. + + + + + + + + + + + + + Mailbox statistics item. + + + + + + + + + + + + + + Array of mailbox statistics item. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mailbox hold status. + + + + + + + + + + + + + Array of mailbox hold status. + + + + + + + + + + + Mailbox hold result. + + + + + + + + + + + + + + + + + + + Non indexable item statistic. + + + + + + + + + + + + + Array of non indexable item statistics. + + + + + + + + + + + + + + + + + + + + + + + + Non indexable item detail. + + + + + + + + + + + + + + + + + + + Array of non indexable item details. + + + + + + + + + + + Non indexable item details result. + + + + + + + + + + + + Discovery search configuration. + + + + + + + + + + + + + + + + Array of discovery search configuration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retention policy tag. + + + + + + + + + + + + + + + + + + + Array of retention policy tags. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Group on the ImContactList, with one or more members + + + + + + + + + + + + + + + + + + + + + + IM Contact List + + + + + + + + + + + + + + + + + + + + + List of possible reasons for disabling the client extension + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for an item in search results + + + + + + + + + + + + + + Identifier for a conversation item in search results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reasons no suggestions are returned by FindMeetingTimeCandidates + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpNtlm/SoapClient.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpNtlm/SoapClient.php new file mode 100644 index 00000000..21c77cbf --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpNtlm/SoapClient.php @@ -0,0 +1,226 @@ + null, + 'password' => null, + 'curlopts' => array(), + 'strip_bad_chars' => true, + 'warn_on_bad_chars' => false, + ); + $this->options = $options; + + // Verify that a user name and password were entered. + if (empty($options['user']) || empty($options['password'])) { + throw new \BadMethodCallException( + 'A username and password is required.' + ); + } + + parent::__construct($wsdl, $options); + } + + /** + * {@inheritdoc} + */ + public function __doRequest($request, $location, $action, $version, $one_way = 0) + { + $headers = $this->buildHeaders($action); + $this->__last_request = $request; + $this->__last_request_headers = $headers; + + // Only reinitialize curl handle if the location is different. + if (!$this->ch + || curl_getinfo($this->ch, CURLINFO_EFFECTIVE_URL) != $location) { + $this->ch = curl_init($location); + } + + curl_setopt_array($this->ch, $this->curlOptions($action, $request)); + $response = curl_exec($this->ch); + + // TODO: Add some real error handling. + // If the response if false than there was an error and we should throw + // an exception. + if ($response === false) { + $this->__last_response = $this->__last_response_headers = false; + throw new \RuntimeException( + 'Curl error: ' . curl_error($this->ch), + curl_errno($this->ch) + ); + } + + $this->parseResponse($response); + $this->cleanResponse(); + + return $this->__last_response; + } + + /** + * {@inheritdoc} + */ + public function __getLastRequestHeaders() + { + return implode("\n", $this->__last_request_headers) . "\n"; + } + + /** + * Returns the response code from the last request + * + * @return integer + * + * @throws \BadMethodCallException + * If no cURL resource has been initialized. + */ + public function getResponseCode() + { + if (empty($this->ch)) { + throw new \BadMethodCallException('No cURL resource has been ' + . 'initialized. This is probably because no request has not ' + . 'been made.'); + } + + return curl_getinfo($this->ch, CURLINFO_HTTP_CODE); + } + + /** + * Builds the headers for the request. + * + * @param string $action + * The SOAP action to be performed. + */ + protected function buildHeaders($action) + { + return array( + 'Method: POST', + 'Connection: Keep-Alive', + 'User-Agent: PHP-SOAP-CURL', + 'Content-Type: text/xml; charset=utf-8', + "SOAPAction: \"$action\"", + 'Expect: 100-continue', + ); + } + + /** + * Cleans the response body by stripping bad characters if instructed to. + */ + protected function cleanResponse() + { + // If the option to strip bad characters is not set, then we shouldn't + // do anything here. + if (!$this->options['strip_bad_chars']) { + return; + } + + // Strip invalid characters from the XML response body. + $count = 0; + $this->__last_response = preg_replace( + '/(?!�?(9|A|D))(&#x[0-1]?[0-9A-F];)/', + ' ', + $this->__last_response, + -1, + $count + ); + + // If the option to warn on bad characters is set, and some characters + // were stripped, then trigger a warning. + if ($this->options['warn_on_bad_chars'] && $count > 0) { + trigger_error( + 'Invalid characters were stripped from the XML SOAP response.', + E_USER_WARNING + ); + } + } + + /** + * Builds an array of curl options for the request + * + * @param string $action + * The SOAP action to be performed. + * @param string $request + * The XML SOAP request. + * @return array + * Array of curl options. + */ + protected function curlOptions($action, $request) + { + $options = $this->options['curlopts'] + array( + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_HTTPHEADER => $this->buildHeaders($action), + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC | CURLAUTH_NTLM, + CURLOPT_USERPWD => $this->options['user'] . ':' + . $this->options['password'], + ); + + // We shouldn't allow these options to be overridden. + $options[CURLOPT_HEADER] = true; + $options[CURLOPT_POST] = true; + $options[CURLOPT_POSTFIELDS] = $request; + + return $options; + } + + /** + * Pareses the response from a successful request. + * + * @param string $response + * The response from the cURL request, including headers and body. + */ + public function parseResponse($response) + { + // Parse the response and set the last response and headers. + $info = curl_getinfo($this->ch); + $this->__last_response_headers = substr( + $response, + 0, + $info['header_size'] + ); + $this->__last_response = substr($response, $info['header_size']); + } +} diff --git a/modules-available/locationinfo/inc/coursebackend/coursebackend_exchange.inc.php b/modules-available/locationinfo/inc/coursebackend/coursebackend_exchange.inc.php new file mode 100755 index 00000000..a62ea6d5 --- /dev/null +++ b/modules-available/locationinfo/inc/coursebackend/coursebackend_exchange.inc.php @@ -0,0 +1,242 @@ +getClient(); + $request = new ResolveNamesType(); + $request->UnresolvedEntry = $this->username; + $request->ReturnFullContactData = false; + + try { + $response = $client->ResolveNames($request); + } catch (Exception $e) { + $this->error = $e->getMessage(); + return false; + } + + try { + if ($response->ResponseMessages->ResolveNamesResponseMessage[0]->ResponseCode === "NoError") { + $mailadress = $response->ResponseMessages->ResolveNamesResponseMessage[0]->ResolutionSet->Resolution[0]->Mailbox->EmailAddress; + return !empty($mailadress); + } + } catch (Exception $e) { + $this->error = $e->getMessage(); + } + return false; + } + + /** + * uses json to setCredentials, the json must follow the form given in + * getCredentials + * + * @param array $data assoc array with data required by backend + * @returns bool if the credentials were in the correct format + */ + public function setCredentialsInternal($data) + { + foreach (['username', 'password'] as $field) { + if (empty($data[$field])) { + $this->error = 'setCredentials: Missing field ' . $field; + return false; + } + } + + if (empty($data['serverAddress'])) { + $this->error = "No url is given"; + return false; + } + + $this->username = $data['username']; + $this->password = $data['password']; + + $this->serverAddress = $data['serverAddress']; + $this->clientVersion = $data['clientVersion']; + + $this->verifyHostname = $data['verifyHostname']; + $this->verifyCert = $data['verifyCert']; + + return true; + } + + /** + * @return int desired caching time of results, in seconds. 0 = no caching + */ + public function getCacheTime() + { + return 0; + } + + /** + * @return int age after which timetables are no longer refreshed. should be + * greater than CacheTime. + */ + public function getRefreshTime() + { + return 0; + } + + /** + * Internal version of fetch, to be overridden by subclasses. + * + * @param $roomIds array with local ID as key and serverId as value + * @return array a recursive array that uses the roomID as key + * and has the schedule array as value. A shedule array contains an array in this format: + * ["start"=>'JJJJ-MM-DD HH:MM:SS',"end"=>'JJJJ-MM-DD HH:MM:SS',"title"=>string] + */ + protected function fetchSchedulesInternal($requestedRoomIds) + { + $startDate = new DateTime('today 0:00'); + $endDate = new DateTime('+7 days 0:00'); + $client = $this->getClient(); + + $schedules = []; + foreach ($requestedRoomIds as $roomId) { + try { + $items = $this->findEventsForRoom($client, $startDate, $endDate, $roomId); + } catch (Exception $e) { + $this->error .= "Failed to search for events for room $roomId: '{$e->getMessage()}'\n"; + continue; + } + + // Iterate over the events that were found, printing some data for each. + foreach ($items as $item) { + $start = new DateTime($item->Start); + $end = new DateTime($item->End); + + $schedules[$roomId][] = array( + 'title' => $item->Subject, + 'start' => $start->format('Y-m-d') . "T" . $start->format('G:i:s'), + 'end' => $end->format('Y-m-d') . "T" . $end->format('G:i:s') + ); + } + } + return $schedules; + } + + /** + * @param \jamesiarmes\PhpEws\Client $client + * @param \DateTime $startDate + * @param \DateTime $endDate + * @param string $roomAddress + * @return \jamesiarmes\PhpEws\Type\CalendarItemType[] + */ + public function findEventsForRoom($client, $startDate, $endDate, $roomAddress) + { + $request = new FindItemType(); + $request->Traversal = ItemQueryTraversalType::SHALLOW; + $request->ItemShape = new ItemResponseShapeType(); + $request->ItemShape->BaseShape = DefaultShapeNamesType::ALL_PROPERTIES; + + $request->CalendarView = new CalendarViewType(); + $request->CalendarView->StartDate = $startDate->format('c'); + $request->CalendarView->EndDate = $endDate->format('c'); + $folderId = new DistinguishedFolderIdType(); + $folderId->Id = DistinguishedFolderIdNameType::CALENDAR; + $folderId->Mailbox = new EmailAddressType(); + $folderId->Mailbox->EmailAddress = $roomAddress; + $request->ParentFolderIds->DistinguishedFolderId[] = $folderId; + $response = $client->FindItem($request); + $response_messages = $response->ResponseMessages->FindItemResponseMessage; + + $items = []; + foreach ($response_messages as $response_message) { + // Make sure the request succeeded. + if ($response_message->ResponseClass !== ResponseClassType::SUCCESS) { + $code = $response_message->ResponseCode; + $message = $response_message->MessageText; + $this->error .= "Failed to search for events for room $roomAddress: '$code: $message'\n"; + continue; + } + $items = array_merge($items, $response_message->RootFolder->Items->CalendarItem); + } + return $items; + } + + /** + * @return \jamesiarmes\PhpEws\Client + */ + public function getClient() + { + $client = new Client($this->serverAddress, $this->username, $this->password, $this->clientVersion); + $client->setTimezone($this->timezone); + $client->setCurlOptions(array( + CURLOPT_SSL_VERIFYPEER => $this->verifyHostname, + CURLOPT_SSL_VERIFYHOST => $this->verifyCert + )); + + return $client; + } + +} diff --git a/modules-available/locationinfo/inc/coursebackend/exchange.todo b/modules-available/locationinfo/inc/coursebackend/exchange.todo deleted file mode 100755 index 538f7382..00000000 --- a/modules-available/locationinfo/inc/coursebackend/exchange.todo +++ /dev/null @@ -1,203 +0,0 @@ -getClient(); - $request = new ResolveNamesType(); - $request->UnresolvedEntry = $this->username; - $request->ReturnFullContactData = false; - - try { - $response = $client->ResolveNames($request); - } catch (Exception $e) { - error_log("There was an error"); - error_log($e->getMessage()); - return false; - } - - if ($response->ResponseMessages->ResolveNamesResponseMessage[0]->ResponseCode == "NoError") { - $mailadress = $response->ResponseMessages->ResolveNamesResponseMessage[0]->ResolutionSet->Resolution[0]->Mailbox->EmailAddress; - return !empty($mailadress); - } - return false; - } - - /** - * uses json to setCredentials, the json must follow the form given in - * getCredentials - * - * @param array $data assoc array with data required by backend - * @returns bool if the credentials were in the correct format - */ - public function setCredentialsInternal($data) { - foreach (['username', 'password'] as $field) { - if (empty($data[$field])) { - $this->error = 'setCredentials: Missing field ' . $field; - return false; - } - } - - if (empty($data['baseUrl'])) { - $this->error = "No url is given"; - return false; - } - - $this->username = $data['username']; - $this->password = $data['password']; - - $this->baseUrl = $data['baseUrl']; - $this->client_version = $data['client_version']; - - $this->verifyHostname = $data['verifyHostname']; - $this->verifyCert = $data['verifyCert']; - - return true; - } - - /** - * @return int desired caching time of results, in seconds. 0 = no caching - */ - public function getCacheTime() { - return 0; - } - - /** - * @return int age after which timetables are no longer refreshed should be - * greater then CacheTime - */ - public function getRefreshTime() { - return 0; - } - - /** - * Internal version of fetch, to be overridden by subclasses. - * - * @param $roomIds array with local ID as key and serverId as value - * @return array a recursive array that uses the roomID as key - * and has the schedule array as value. A shedule array contains an array in this format: - * ["start"=>'JJJJ-MM-DD HH:MM:SS',"end"=>'JJJJ-MM-DD HH:MM:SS',"title"=>string] - */ - protected function fetchSchedulesInternal($requestedRoomIds) { - $startDate = new DateTime('today 0:00'); - $endDate = new DateTime('+7 days 0:00'); - $client = $this->getClient(); - - $schedules = []; - foreach ($requestedRoomIds as $roomId) { - $items = $this->findEventsForRoom($client, $startDate, $endDate, $roomId); - - // Iterate over the events that were found, printing some data for each. - foreach ($items as $item) { - $start = new DateTime($item->Start); - $end = new DateTime($item->End); - - $schedules[$roomId][] = array( - 'title' => $item->Subject, - 'start' => $start->format('Y-m-d') . "T" . $start->format('G:i:s'), - 'end' => $end->format('Y-m-d') . "T" . $end->format('G:i:s') - ); - } - } - return $schedules; - } - - public function findEventsForRoom($client, $start_date, $end_date, $email_room) { - $request = new FindItemType(); - $request->Traversal = ItemQueryTraversalType::SHALLOW; - $request->ItemShape = new ItemResponseShapeType(); - $request->ItemShape->BaseShape = DefaultShapeNamesType::ALL_PROPERTIES; - - $request->CalendarView = new CalendarViewType(); - $request->CalendarView->StartDate = $start_date->format('c'); - $request->CalendarView->EndDate = $end_date->format('c'); - $folder_id = new DistinguishedFolderIdType(); - $folder_id->Id = DistinguishedFolderIdNameType::CALENDAR; - $folder_id->Mailbox = new EmailAddressType(); - $folder_id->Mailbox->EmailAddress = $email_room; - $request->ParentFolderIds->DistinguishedFolderId[] = $folder_id; - $response = $client->FindItem($request); - $response_messages = $response->ResponseMessages->FindItemResponseMessage; - - $items = []; - foreach ($response_messages as $response_message) { - // Make sure the request succeeded. - if ($response_message->ResponseClass != ResponseClassType::SUCCESS) { - $code = $response_message->ResponseCode; - $message = $response_message->MessageText; - error_log("Failed to search for events with \"$code: $message\"\n"); - continue; - } - $items = $response_message->RootFolder->Items->CalendarItem; - } - return $items; - } - - public function getClient() { - $client = new Client($this->baseUrl, $this->username, $this->password, $this->client_version); - $client->setTimezone($this->timezone); - $client->setCurlOptions(array( - CURLOPT_SSL_VERIFYPEER => $this->verifyHostname, - CURLOPT_SSL_VERIFYHOST => $this->verifyCert - )); - - return $client; - } - - function var_error_log($object = null) { - ob_start(); // start buffer capture - var_dump($object); // dump the values - $contents = ob_get_contents(); // put the buffer into a variable - ob_end_clean(); // end capture - error_log($contents); // log contents of the result of var_dump( $object ) - } -} -?> -- cgit v1.2.3-55-g7522